.htaccess for 301 redirect:哪种语法最好?

时间:2012-01-07 22:33:41

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

我正在永久重定向我的网站

http://www.oldsite.com

http://newsite.com/blog

使用

之间有区别吗?
Redirect 301 / http://newsite.com/blog/

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

我应该使用一个而不是另一个吗?

2 个答案:

答案 0 :(得分:3)

第一个使用Apache的内部重定向引擎,使用/响应代码将所有请求定向到http://newsite.com/blog301 Moved Permanently

另一个加载Apache重写引擎,并将^(.*)$http://newsite.com/blog/匹配的所有传入请求(将请求URI的匹配部分附加到目标URI)重写为{{1}响应代码,就像前者一样。

区别?无论请求如何,前者都会将所有内容重写为301 Moved Permanently,第二个会考虑请求URI按指定重写它。第一个也比第二个快一些因为它没有加载重写引擎,没有内省请求本身,并且(取决于AllowOverride设置)不必查找并加载http://newsite.com/blog/文件。

答案 1 :(得分:1)

我相信用户之间难以察觉两者之间的性能差异。

但是,假设旧博客站点上的所有URL都干净地映射到新站点,那么我建议使用第二种方法。

如果您使用第一种方法,那么指向旧博客帖子的所有链接最终都会显示在新网站的主页上,对于可能已为其添加书签等链接的用户来说,这不是很好的体验。

如果您关心搜索引擎优化,那么它的相同故事,您的所有网页排名都将从您的旧博客帖子转到您的新网站主页。

相关问题