.htaccess用多个$ _GET变量重写

时间:2015-05-22 13:45:32

标签: php .htaccess mod-rewrite

我真的很难正确编写我的.htaccess文件。我希望发生以下情况:

  1. x.domain.com - >重定向到 - > domain.com/index.php?id=x
  2. 如果原始网址上有$ _GET变量,请将其转移到第二个网址:x.domain.com/?y 的 - >重定向到 - > domain.com/index.php?id=x&y
  3. 到目前为止,我已经设法在第一点中提到了。

    但是无法确定下一步去哪里实现第二点

    我是否需要为单独的规则编写新行,或修改当前行?

    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteCond %{REQUEST_URI} !index\.php
    RewriteCond %{HTTP_HOST} ^(.+?)\.domain\.com$
    RewriteRule .* http://www.domain.com/index.php?id=%1 [L,P]
    

    任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

...
RewriteRule .* http://www.domain.com/index.php?id=%1 [L,P,QSA]

您正在寻找QSA(查询字符串追加)标记,该标记会将查询字符串附加回重写的网址。