当我在htaccess中尝试以下规则时出现404错误页面:
RewriteRule ^Test\?service=(.*) test.php?foo=$1 [NC,L]
怎么回事?
我知道最好使用像 ^ Test /(.*)test.php?foo = $ 1 [NC,L] 这样的东西,但在这种情况下我更喜欢它我说的方式。
提前谢谢。
答案 0 :(得分:1)
RewriteRule
仅检查URL path。但是查询(从第一个?
到第一个#
的部分)不是URL路径的一部分。只能使用RewriteCond
directive:
RewriteCond %{QUERY_STRING} ^service=(.*)
RewriteRule ^Test$ test.php?foo=%1 [NC,L]