.htaccess for 301重定向:哪种语法最好?

.htaccess for 301重定向:哪种语法最好?,.htaccess,redirect,http-status-code-301,.htaccess,Redirect,Http Status Code 301,我将永久重定向我的网站 到 使用 Redirect 301 / http://newsite.com/blog/ 或 我应该使用一个而不是另一个的原因是什么?第一个使用Apache的内部重定向引擎将所有请求定向到/到http://newsite.com/blog带有永久移动的301响应代码 另一个加载Apache重写引擎,并将与^(.*)$匹配的所有传入请求重写为http://newsite.com/blog/(将请求URI的匹配部分附加到目标URI)带有永久移动的301响应代码,就像前者

我将永久重定向我的网站

使用

Redirect 301 / http://newsite.com/blog/


我应该使用一个而不是另一个的原因是什么?

第一个使用Apache的内部重定向引擎将所有请求定向到
/
http://newsite.com/blog
带有永久移动的
301
响应代码

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


区别是什么?前者将所有内容重写为
http://newsite.com/blog/
与请求无关,第二个将考虑请求URI,并按照指定重写它。第一个也比第二个快一些,因为它不加载重写引擎,不反思请求本身,并且(取决于AllowOverride设置)不必查找和加载
.htaccess
文件。

我相信用户不会察觉到两者之间的性能差异

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

如果您使用第一种方法,所有指向旧博客帖子的链接都会出现在新站点的主页上,这对于可能已将链接添加到书签等的用户来说不是一个好的体验


如果你关心SEO,那也是一样,你所有的页面排名都会从你以前的博客文章转到你新的网站主页。

我不这么认为。如果两种方法都有效,应该没有区别吧?ulrich在SEO/PageRank方面一种方法比另一种更好吗?@torr他们都做了301重定向,这将转移页面排名。但是,如果您的URL除了域+基本路径(即
www.oldsite.com/some post
newsite.com/blog/some post
之外都是相同的,那么第二种方法对于SEO来说更好。
RewriteEngine On 
RewriteRule ^(.*)$ http://newsite.com/blog/$1 [R=301,L]