我在尝试获得正确的重写/重定向时会遇到一些困难,我会想知道它是否可行。
我有这个重写设置:
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*) http://www.newdomain.com/ [R=301,L]
这非常适合从olddomain.com/whatever获取所有请求并将其重写为我的新主URL。但是,我也希望能够获取10或15个最受欢迎的“旧”网址并重新/重定向到新网址上的新位置。我的目录结构随着转换到新网址而改变,因此所有新网址都不同,而且所有网址都位于不同的位置。是否可以将旧域中的所有流量重定向到新域并指定一些旧URL以重定向到新域上的新URL?
我希望这很清楚,我希望有人可以帮助我。谢谢你的时间!
汤姆
答案 0 :(得分:1)
这是一个解决方案:
.htaccess for old domain
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
在上文中,您可以设置重定向规则来捕获某些网页并将其转发到新位置,如下所示:
Redirect 301 /2012/05/old-post http://www.newdomain.com/old-post
请确保将重定向指令置于重写规则之上,以便捕获其他所有内容。
.htaccess for new domain
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.[a-z-]+\.[a-z]{2,6} [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z]{2,6})$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]
在https://forums.digitalpoint.com/threads/htaccess-redirect-all-traffic-to-another-site.867280/
上找到此解决方案我做过类似的事情,所以希望它有所帮助。