2013-08-16 35 views
0

我正在尝试将网站a重定向到具有相同网址结构的网站b。我的htaccess的是如何301重定向相同的网址结构?

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

RewriteRule ^(.*)/(.*)/(.*)$ index.php?video=$1&id=$2&words=$3 

RewriteRule ^videos/(.*)$ index.php?videos=$1 

然而,重定向的网站上,它增加了更多的变数。例如;

siteA.com/y/T5INF08ZEdA/Miranda-Kerr-In-Hot-Water-with-Orlando-Bloom

siteB.com/y/T5INF08ZEdA/Miranda-Kerr-In-Hot-Water-with -Orlando - 布鲁姆?视频= Y & ID = T5INF08ZEdA &字=米兰达 - 克尔在-热水与奥兰多 - 布鲁姆

什么是正确的方式来重定向301具有相同的URL结构?

回答

1

这是因为在你的代码中的2个主要问题:

  1. 混合mod_alias中和mod_rewrite的规则。
  2. 在mod_rewrite规则中没有使用L标志,并且导致在同一个URL上触发多个规则。

我建议你用mod_rewrite的只有坚持,并保持你的.htaccess这样的:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(www\.)sitea\.com$ [NC] 
RewriteRule^http://www.siteb.com%{REQUEST_URI} [L,R=301] 

RewriteRule ^videos/(.*)$ index.php?videos=$1 [L,QSA,NC] 

RewriteRule ^([^/]+)/([^/]+)/(.*?)/?$ index.php?video=$1&id=$2&words=$3 [L,QSA] 
+0

它不重定向到站点B 3日改写排除页面。 – user198989

+0

你总是想从sitea重定向到siteb吗? – anubhava

+0

立即尝试编辑的代码。 – anubhava