【问题标题】:Redirect all traffic to root of another domain将所有流量重定向到另一个域的根
【发布时间】:2012-02-07 20:01:48
【问题描述】:

我有一个不再使用的域。我想将所有从http://www.old.com/ 重定向到http://www.new.com/,无论用户尝试访问www.old.com 上的哪个页面。

这样做:

RewriteEngine on
Redirect 301 / http://www.new.com/

对于根来说很好,但其他页面会这样做:

http://www.old.com/cms -> http://www.new.com/cms

而无论如何我都希望它进入根目录。

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    将此代码放入www.old.com上的ROOT .htaccess 中

    Options +FollowSymLinks -MultiViews
    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC]
    RewriteRule ^ http://www.new.com/ [R=301,L]
    

    此规则会将所有www.old.com/* 外部重定向到www.new.com/

    【讨论】:

    • 谢谢。这是对我有用的解决方案,因为我在同一个根目录上托管多个域。
    【解决方案2】:

    来自http://www.webconfs.com/how-to-redirect-a-webpage.php我想说你可以使用以下配置

    不要重定向子文件夹/文件(如您所愿):www.example.com/demo/ -> www.newexampledomain.com

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://www.newdomain.com/ [R=301,L]
    

    重定向到子文件夹/文件:www.example.com/demo/ -> www.newexampledomain.com/demo/

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
    

    【讨论】:

    • 那么虚拟主机呢?如果两个域都指向同一个服务器,那么最好的选择是什么?默认应该是新的,加上在这个答案stackoverflow.com/a/16011435/4458531 中为旧的使用别名?
    • 这仍然会传递查询变量。添加一个?到最后将查询替换为空。
    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2013-02-24
    • 1970-01-01
    • 2014-04-23
    相关资源
    最近更新 更多