.htaccess从一个url重定向/重写到另一个url,并将子页面重写到其他页面

时间:2013-07-10 17:03:37

标签: .htaccess

我在尝试获得正确的重写/重定向时会遇到一些困难,我会想知道它是否可行。

我有这个重写设置:

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?

我希望这很清楚,我希望有人可以帮助我。谢谢你的时间!

汤姆

1 个答案:

答案 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/

上找到此解决方案

我做过类似的事情,所以希望它有所帮助。