Htaccess问题,RewriteRule忽略第一个参数末尾的其他字符

时间:2017-07-01 19:04:18

标签: apache mod-rewrite

所以我有这个规则:

RewriteRule page other-page.php

所以现在当我去mysite.php/page时,它会转到other-page.php,这很好。但是当我去,例如,去:

mysite.php/pages

或:

mysite.php/pagedfkjsdf

或以/page开头的任何内容都会转到other-page.php。它应该显示404错误。有任何想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您的规则会在URI中的任何位置重定向page的任何内容。您需要做的是更改它,使其仅匹配/page。像这样:

RewriteRule ^page$ other-page.php

^匹配字符串的开头,$与结尾匹配。

我假设您在.htaccess文件或<Directory>块中执行此操作。如果不是,则规则需要更新为:

RewriteRule ^/page$ /other-page.php