Mod重写查询参数名称

时间:2014-02-01 20:21:53

标签: .htaccess

我需要将URL article.php?id = x重写为index.php?p = x 我试过这个

RewriteRule ^article.php?id=(.*)$ index.php?p=$1 [QSA]

但它不起作用,虽然这个RewriteRule ^article.php/(.*)$ index.php?p=$1 [QSA]对article.php / x非常有效。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您无法与RewriteRule中的查询字符串匹配,您需要与%{QUERY_STRING}中的RewriteCond变量匹配:

RewriteCond %{QUERY_STRING} ^id=(.*)$ 
RewriteRule ^article\.php$ index.php?p=%1 [L]

此外,您想在此处使用QSA标志,因为这会附加您不想要的查询字符串。< / p>