0

我想重写一个地址:

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]
4

2 回答 2

0

您无法匹配 a 中的查询字符串RwriteRule,但在这种情况下,您根本不需要重写查询字符串,您只需要重写 URI ( page-> page.php),查询字符串将自动附加:

RewriteRule ^/?page$ page.php [L]
于 2012-10-03T18:21:16.840 回答
0

我将包含一个 R 指令来显式触发重定向,并包含 QSA 来简单地将整个查询字符串保留在重定向 URL 中。

最后,根据上下文,URI 可能以斜杠开头。如果是这样,您的规则(要求 URI以斜杠开头)将永远不会匹配。添加 /? 开头将匹配带有前导斜杠和不带斜杠的 URI。

RewriteRule ^/?page/?$ page.php [R,QSA,L]

试一试。

于 2012-10-03T18:24:00.707 回答