我使用以下代码到我的旧网站,301将所有流量重定向到我的新网站。
.htaccess - 位于oldsite.com
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^newsite.com [NC]
RewriteRule ^(.*)$ http://newsite.com/ [R=301,L]
</IfModule>
Redirect 301 / http://newsite.com/
如果网址不包含问题掩码符号“?”,则上述.htaccess代码才有效。
E.g。
示例1正常
http://oldsite.com/whatever - &gt; 301重定向到http://newsite.com/
但是,如果我要进入:
示例2不行
http://oldsite.com/?whatever - &gt; 301重定向到http://newsite.com/?whatever
它应该重定向到索引站点,就像那样
http://oldsite.com/?whatever - &gt; 301重定向到http://newsite.com/
和
示例3不正常
http://oldsite.com/whatever?something - &gt; 301重定向到http://newsite.com/?something
它应该重定向到索引站点,就像那样
http://oldsite.com/whatever?something - &gt; 301重定向到http://newsite.com/
和
答案 0 :(得分:2)
重定向和重写规则都是多余的。使用这样的规则。要删除query string
,您需要在重写的末尾添加问号。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^newsite.com [NC]
RewriteRule ^(.*)$ http://newsite.com/? [R=301,L]
</IfModule>