我想要这个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错误消息。
- RewriteEngine已打开
- /rankings.php存在
- 此外,我还有另一个更复杂的重写规则,我写,这就像魅力一样
- 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
一切都很好。