其中';这是我的.htaccess RewriteRule Regexp中的错误


Where's the error in my .htaccess RewriteRule Regexp?

我想要这个url

http://www.test.racebooking.net/rankings/classifica.html

指向

http://www.test.racebooking.net/rankings.php

因此,我在.htaccess文件中写下了这个规则

RewriteRule ^rankings'/[a-zA-Z0-9'-]+'.html$ /rankings.php

我真的不明白为什么,当我输入第一个url时,我会收到404错误消息。

  1. RewriteEngine已打开
  2. /rankings.php存在
  3. 此外,我还有另一个更复杂的重写规则,我写,这就像魅力一样
  4. classification.html不存在。我只是用更新我的网站更SEO友好的URL

我的规则出了什么问题??

当我在任何在线regexp测试仪中测试regexp时,它会检测到字符串"rankings/classica.html",这意味着regexp实际上是对应的,但什么都不起作用。。。。

我发现了这个错误,但我不知道为什么会发生。

基本上,如果模式替换以同一个单词开头,则RewriteRule不起作用。

示例

如果我在.htaccess:中编写此规则

RewriteRule ^rankings'/[a-zA-Z0-9'-]+'.html$ /rankings.php

并键入此URL

http://www.mywebsite.net/rankings/classifica.html

我得到一个404错误。即使Regexp是正确的,apache重写引擎也不起作用。相反,如果我写这个规则:

RewriteRule ^ran-kings'/[a-zA-Z0-9'-]+'.html$ /rankings.php

并键入此URL

http://www.mywebsite.net/ran-kings/classifica.html

一切都很好。