我想重写一个地址:
http://mysite.com/page?att=XXXXX 到: http://mysite.com/page.php?att= XXXXX
我尝试了以下代码,但对我不起作用。我想问号是问题所在:
RewriteRule ^page?att=([A-Za-z0-9-_]+)/?$ page.php?att=$1 [L]
我想重写一个地址:
http://mysite.com/page?att=XXXXX 到: http://mysite.com/page.php?att= XXXXX
我尝试了以下代码,但对我不起作用。我想问号是问题所在:
RewriteRule ^page?att=([A-Za-z0-9-_]+)/?$ page.php?att=$1 [L]
您无法匹配 a 中的查询字符串RwriteRule
,但在这种情况下,您根本不需要重写查询字符串,您只需要重写 URI ( page
-> page.php
),查询字符串将自动附加:
RewriteRule ^/?page$ page.php [L]
我将包含一个 R 指令来显式触发重定向,并包含 QSA 来简单地将整个查询字符串保留在重定向 URL 中。
最后,根据上下文,URI 可能以斜杠开头。如果是这样,您的规则(要求 URI不以斜杠开头)将永远不会匹配。添加 /? 开头将匹配带有前导斜杠和不带斜杠的 URI。
RewriteRule ^/?page/?$ page.php [R,QSA,L]
试一试。