【发布时间】:2013-12-14 23:07:15
【问题描述】:
我想要这个网址
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 存在。
- 此外,我还有另一个更复杂的 RewriteRule,我 写的,效果很好。
- classifica.html 不存在。我只是更新我的网站 更多 SEO 友好的网址
我的规则有什么问题??
当我在任何在线正则表达式测试器中测试正则表达式时,它会检测到字符串“rankings/classifica.html”,这意味着正则表达式实际上是对应的,但没有任何效果......
【问题讨论】:
-
正则表达式没有任何问题,这是肯定的。您的代码还有其他问题。
-
RewriteRules 的顺序通常很重要。只是说你有另一个人在工作,并不意味着没有干扰。
-
我真的快疯了……如果这有帮助,这是我的 .htaccess:pastebin.com/xyRuDmv5。第 10 行的规则完美运行,第 8 行的规则(我在这里粘贴的那个)不行。
-
你的规则对我有用。您可能在 /rankings.php 中有错误。你能简化它并重新运行测试吗?
-
由于
MultiViews,这是同样的问题,请参阅此答案:stackoverflow.com/a/20302544/548225
标签: php regex apache .htaccess mod-rewrite