我想重写一个地址:
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]
答案 0 :(得分:0)
您无法匹配RwriteRule
中的查询字符串,但在这种情况下,您根本不会重写查询字符串,只需要重写URI(page
- > page.php
),查询字符串将自动附加:
RewriteRule ^/?page$ page.php [L]
答案 1 :(得分:0)
我会包含一个R指令来显式触发重定向,而QSA只是保留重定向URL中的整个查询字符串。
最后,根据上下文,URI可能以斜杠开头。如果是这样,您的规则 - 它要求不的URI以斜杠开头 - 将永远不会匹配。添加/?在开头将匹配带有前导斜杠的URI和不带。
RewriteRule ^/?page/?$ page.php [R,QSA,L]
给这一点。