我已经正确配置了我的网站,以重新路由来自

mywonderfulwebsite.com/folder1/whatever-url.php



http://folder1.mywonderfulwebsite.com/whatever-url-as-above.php

问题是:很多时候,外部网站通过GET参数链接页面

mywonderfulwebsite.com/folder1/whatever-url.php*?trackingToken=1*

因此,问题是如何使mod_rewrite在GET参数中传递给“重写的” URL,如下所示:

folder1.mywonderfulwebsite.com/whatever-url-as-above.php*?trackingToken=1*

目前,我正在执行以下操作:

<VirtualHost *>
   ServerName mywonderfulwebsite.com
   ServerAlias www.mywonderfulwebsite.com
   DocumentRoot /var/www/mywonderfulwebsite/
   DirectoryIndex index.html

   <Directory />
      allow from all
      Options +FollowSymlinks -Indexes
   </Directory>

   RewriteEngine On
   RewriteRule    ^/folder1/(.*)?$    http://folder1.mywonderfulwebsite.com/$1&%{QUERY_STRING}    [L,R=301]
</VirtualHost>


这段htaccess非常糟糕:例如,尝试访问此url:

www.mywonderfulwebsite.com/folder1/atextfile.txt

重定向到

folder1.mywonderfulwebsite.com/atextfile.txt&

实际上,mod_rewrite会在末尾附加&

如何解决此问题?如何正确重定向到正确的URL(也可以使用GET参数)?

非常感谢

最佳答案

只需将[QSA]标志添加到其他标志,即可使[查询[字符串[自动附加。

[L,R=301,QSA]

10-01 11:12