我已经正确地配置了我的网站,以便将来自 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
目前,我正在执行以下操作:
问题是:很多时候,外部网站链接到带有 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在末尾添加了&符号
如何解决这个问题?如何正确地重定向到正确的(同时带有GET参数)网址?
非常感谢。