繁体   English   中英

.htaccess RewriteRule正则表达式中的错误在哪里?

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

我想要这个网址

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. 而且,我还有另一个RewriteRule,它写得更复杂,它就像魅力一样工作。
  4. classifica.html不存在。 我正在使用更多SEO友好网址更新我的网站

我的规则怎么了?

当我在任何在线正则表达式测试器中测试正则表达式时,它会检测到字符串“ rankings / classifica.html”,这意味着正则表达式实际上是对应的,但是没有任何作用。

我发现了错误,但是我没有找到原因。

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

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

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

并输入此URL

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

我收到404错误。 即使Regexp正确,apache的RewriteEngine也不起作用。 相反,如果我编写此规则:

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

并输入此URL

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

一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM