301 将所有页面重定向到新域上的同一页面

Posted

技术标签:

【中文标题】301 将所有页面重定向到新域上的同一页面【英文标题】:301 Redirect all pages to same page on new domain 【发布时间】:2014-09-23 21:54:40 【问题描述】:

这是.htaccess redirect all pages to new domain 和How to 301 redirect all pages to the same pages on new domain 的后续问题。

具体来说,以下解决方案有何不同?

RewriteRule解决办法:

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

Redirect解决办法:

Redirect 301 / http://newdomain.com/

【问题讨论】:

【参考方案1】:

这是服务器重定向与浏览器重定向。在第一种情况下,将进行内部重定向,并且浏览器将收到来自目标服务器的响应。

在第二种情况下,将为浏览器提供 301 代码(永久移动)和带有新 URL 的 Location 标头,此时它需要向目标服务器发出第二次请求。

您可以自己看到差异,例如通过在 Firefox 中安装“Live HTTP Headers”插件并检查浏览器接收到的所有请求。

【讨论】:

+ 考虑到 redirect 解决方案的额外往返行程,我认为 rewrite 解决方案的性能更高。 正确,但有安全方面的考虑。我认为,一般来说,显式浏览器重定向更安全

以上是关于301 将所有页面重定向到新域上的同一页面的主要内容,如果未能解决你的问题,请参考以下文章

如何 301 将所有页面重定向到新域上的相同页面

我如何 .htaccess 301 将所有页面/文件(除了一个)重定向到新域?

将旧域的每个页面重定向到新域上的相同页面URL

重定向到新域上的相同路径

.htaccess 旧域到新域 301 重定向,但只有域,而不是页面

htaccess 将旧域重定向到新域