.htaccess 如何使用相同的url结构进行301重定向?
我试图用相同的url结构将站点a重定向到站点b。我的访问权限是.htaccess 如何使用相同的url结构进行301重定向?,.htaccess,redirect,.htaccess,Redirect,我试图用相同的url结构将站点a重定向到站点b。我的访问权限是 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-Ker
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-oralando-Bloom
siteB.com/y/T5INF08ZEdA/Miranda Kerr与奥兰多布鲁姆在热水中?video=y&id=T5INF08ZEdA&words=Miranda Kerr与奥兰多布鲁姆在热水中
使用相同的url结构进行301重定向的正确方法是什么?这是因为代码中存在两个主要问题:
L
标志,这导致在同一URL上触发多个规则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]
它不会在第三个重写规则页面上重定向到siteb。是否始终要从sitea重定向到siteb?