【问题标题】:301 Redirect entire site to new site using .htaccess file301 使用 .htaccess 文件将整个站点重定向到新站点
【发布时间】:2015-08-22 20:08:16
【问题描述】:

我有一个站点 siteONE.co.uk 我想将所有页面 301 永久重定向到另一个站点 siteTWO.co.uk

对于这个我目前正在使用下面的这个.htaccess 文件,但我必须为我想重新编写的每个页面输入一个新行,即使它们都将转到siteTWO.co.uk 的主页。他们的重定向也不正确,而不是siteONE.co.uk/aberdeen 转到siteTWO.co.uk 而是转到siteTWO.co.ukaberdeen(注意.co.uk 和阿伯丁之间没有/

我有什么想法有问题吗?

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(http://siteONE\.co\.uk)(:80)? [NC]
RewriteRule ^(.*) http://www.siteONE.co.uk/$1 [R=301,L]
order deny,allow


RewriteEngine on
RewriteRule ^/?$ http://siteTWO.co.uk/ [R=301,L]

redirect 301 / http://siteTWO.co.uk
redirect 301 /aberdeen http://siteTWO.co.uk
redirect 301 /bath http://siteTWO.co.uk
redirect 301 /belfast http://siteTWO.co.uk
redirect 301 /birmingham http://siteTWO.co.uk
redirect 301 /cambridge http://siteTWO.co.uk
redirect 301 /canterbury http://siteTWO.co.uk
redirect 301 /chester http://siteTWO.co.uk
redirect 301 /york http://siteTWO.co.uk

【问题讨论】:

    标签: .htaccess mod-rewrite redirect http-status-code-301 http-redirect


    【解决方案1】:

    您可以去掉 .htaccess 中的所有代码并改用此规则:

    RewriteEngine on
    
    RewriteRule ^ http://siteTWO.co.uk/? [R=301,L,NE]
    

    确保在测试之前清除浏览器缓存。

    【讨论】:

    • 感谢@anubhava,但这会将所有网址从siteONE 带到siteTWO 上的等效网址,有没有办法让siteONE 的所有网址都转到siteTWO 上的主页。 IE。 http://siteONE.co.uk/mypage 会转到 http://siteTWO.co.uk 而不是 http://siteTWO.co.uk/mypage
    • 谢谢@anubhava!我在原始文件的顶部添加了(从&lt;Files ~ "^\.(htaccess|htpasswd)$"&gt; 开始并完成order deny,allow),以便它重定向www.non-www。然后我得到了你的sn-p。我已经将它上传到服务器并且它似乎可以工作,我的第一个 sn-p 有什么理由吗?或者你的 sn-p 会处理这两个任务吗?也将.co.uk 中的k 替换为? 还是拼写错误?
    • 抱歉打错了(现已更正)。正如您所提到的,这应该在order deny,allow 下方正常工作。这样你就不需要像你一样逐页重定向,顺便说一句,你的第一条规则 redirect 301 / http://siteTWO.co.uk 将取代以下所有规则。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    相关资源
    最近更新 更多