我已正确配置我的网站以重新路由来自
的每个流量mywonderfulwebsite.com/的 folder1中 / 任何-URL .PHP
到
的http:// folder1中 .mywonderfulwebsite.com / 任何-URL-AS-以上 .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非常糟糕:例如,尝试访问此网址:
www.mywonderfulwebsite.com/folder1/的 atextfile.txt
重定向到
folder1.mywonderfulwebsite.com/的 atextfile.txt&安培;
实际上,mod_rewrite附加了尾随&amp;
如何解决此问题? 如何正确地重定向到正确的(也使用GET参数)网址?
非常感谢
答案 0 :(得分:6)
只需将[QSA]标志添加到其他标志即可[Query [String [自动附加。
[L,R=301,QSA]