0

我正在启动一个站点,并希望设置一个 htaccess 文件以 301 将旧链接从旧站点重定向到新站点。我希望它尽可能有用,所以我想将旧站点的特定链接重定向到新站点上具有相似内容的页面。

我想要完成的是,如果有人去 www.oldsite/oldlink.html,他们将被重定向到 www.newsite.com/newlink.html,但如果他们去任何其他页面,他们将被重定向到 www。 newsite.com/。

我知道我可以在我的 htaccess 文件中使用这样的代码来完成第一部分(将单个页面重定向到另一个页面):

Redirect 301 /oldlink.html
http://www.newsite.com/newlink.html/

我的问题围绕着想要为我没有在这里特别指出的任何链接创建一个“包罗万象”重定向,因为我不知道它们存在等等。我知道我可以做到这一点:

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

但这会覆盖我在上面创建的 oldlink.html 重定向吗?

4

1 回答 1

2

你可以使用这个:

RewriteEngine on
RewriteRule oldlink.html http://www.newsite.com/newlink.html [NC,R=301,L] 
RewriteRule (.*) http://www.newdomain.com/ [NC,R=301,L] 

(NC = 不区分大小写/不区分大小写;L = 最后规则)

如果第一个 RewriteRule 匹配,则不会使用第二个。您可以根据需要添加任意数量的规则。您还可以通过使用将http://www.oldsite.com/somelink.html重定向到http://newsite.com/somelink.html(仅将“旧站点”更改为“新站点”,而不是页面名称)

RewriteRule ^(.*)\.html$ http://www.newsite.com/$1.html [R=301,NC,L]
于 2012-05-21T19:55:24.960 回答