2013-07-10 108 views
0

我在尝试获得正确的重写/重定向时会遇到一些困难,它会按照我的要求进行操作,我想知道是否有可能。.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所有请求,并将它们重写到我的新的主网址。不过,我也希望能够将10个或15个最受欢迎的“旧”网址重写/重定向到新网址上的新位置。我的目录结构随着转换到新的url而改变,所以所有新的url都是不同的,而且它们位于不同的地方。是否有可能将所有来自旧域名的流量重定向到新域名,并指定几个旧的网址重定向到新域名上的新网址?

我希望这已经够清楚了,我希望有人能够帮助我。谢谢你的时间!

汤姆

+0

当然可以。你只需选择那些特定的网址,然后在你制定上面发布的全面规则之前重写它们。因此,您可以通过某种方式实现首先要处理的异常。这样你可以用特定的方式重写特定的URL。 – arkascha

回答

1

这里有一个解决方案:

的.htaccess旧域

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新域

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/

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

相关问题