使用,htaccess重定向example.com?id=12到example.com/index.php?id=12

时间:2015-03-24 05:42:50

标签: php regex apache .htaccess mod-rewrite

我想重定向" example.com?pid = 12"到" example.com/index.php?pid = 12"使用.htaccess

我在.htaccess文件中写了以下内容。

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} pid [NC]
RewriteRule ^ example.com/index.php\?$1 [R=301,L]

但它没有附加查询字符串。

2 个答案:

答案 0 :(得分:0)

您需要在[QSA]中添加查询字符串追加标记RewriteRule,因为您正在使用"?"

修改查询字符串

更多信息:https://wiki.apache.org/httpd/RewriteQueryString

答案 1 :(得分:0)

您可以使用:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^pid=\d+ [NC]
RewriteRule ^/?$ /index.php [R=301,L]

查询字符串会自动转移到目标。