我已经正确配置了我的网站,以重新路由来自
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]