我需要重写所有网址的特定域到其他确切网址没有参数,所有网址old.domain.com/*到new.domain.com我已将此规则设置为.htaccess
RewriteCond %{HTTP_HOST} ^old.domain.com [OR]
RewriteCond %{HTTP_HOST} ^www.old.domain.com
RewriteRule ^(.*)$ https://new.domain.it [R=permanent,L]因此,如果我转到
old.domain.com/foo或
old.domain.com/foo/bar或
old.domain.com/foo/bar/index.php
它可以完美地工作,但如果我转到old.domain.com/index.php?goofy,它将重定向到new.domain.com/?goofy,我可以始终重定向到new.domain.com
发布于 2018-02-20 02:34:03
当url为old.domain.com/index.php?goofy时,Mod-rewrite将?goofy附加到其目标url。这是因为mod-rewrite会将query string ( ?字符后的url部分)附加到重定向的url。
如果你在Apache2.4上,你可以使用QSD查询字符串丢弃标志从新的url中删除旧的查询字符串。
RewriteRule ^(.*)$ https://new.domain.it [R=permanent,L,QSD]如果您的apache版本低于2.4,只需在目标url的末尾添加一个空问号?即可删除旧的查询字符串。
RewriteRule ^(.*)$ https://new.domain.it/? [R=permanent,L]https://stackoverflow.com/questions/48870578
复制相似问题