我需要将用户重定向到新域名,但我需要这样做,以防用户来自特定网址,他/她需要重定向到特定网址。
让我澄清......
如果用户访问http://oldexample.com/postvendita/
,我需要将其重定向到http://newexample.com/assistenza
否则,对于其他每个网址http://oldexample.com/*
,我需要将其重定向到http://newexample.com/new-page
我的尝试:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)postvendita(.*)$ http://www.newexample.com/assistenza [L,R=301]
RewriteCond %{HTTP_HOST} !^oldexample\.com$ [NC]
RewriteRule ^(.*)$ http://www.newexample.com/new-page [R=301,L]
如果我访问每个旧页面,我将重定向到http://www.newexample.com/new-page
,因此第一条规则不起作用,我应该如何更改?
答案 0 :(得分:1)
要通过.htaccess处理此问题,您希望与第一个匹配,并使用catch-all重定向其他所有内容:
RewriteEngine On
RewriteRule ^postvendita/?$ http://www.newexample.com/assistenza [R=301,L,NE]
RewriteRule .* http://www.newexample.com/new-page [R=301,L,NE]
301重定向是永久重定向,在90-99%之间传递 将汁液(排名功率)链接到重定向的页面。 301指的是 此类重定向的HTTP状态代码。在大多数情况下,301 重定向是在网站上实现重定向的最佳方法。
或者,如果您不习惯编写RewriteRules,可以使用以下行:
Redirect 301 /postvendita/ http://www.newexample.com/assistenza
Redirect 301 /postvendita http://www.newexample.com/assistenza
Redirect 301 / http://www.newexample.com/new-page
RedirectMatch 301 /postvendita/? http://www.newexample.com/assistenza
RedirectMatch 301 .* http://www.newexample.com/new-page