网站通过.htaccess正确重定向

时间:2014-02-27 17:54:19

标签: .htaccess mod-rewrite redirect

我在第一个符号后搜索了.htaccess重定向地址/但我无法使其正常工作。

.htaccess文件就像这样:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /index.php?route=/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^OldDomain [NC]
RewriteRule ^blog/(.*)$ NewDomain/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.OldDomain [NC]
RewriteRule ^blog/(.*)$ http://www.NewDomain/$1 [R=301,L]

当我使用域

进行测试时

www.OldDomain.com/catalog

重定向到

www.NewDomain.eucatalog

没有斜杠符号“/”

如何让重定向保留斜杠符号?

1 个答案:

答案 0 :(得分:0)

这可能不相关,但您需要重定向规则(最后2个)来之前您的路由规则。您的路由器(index.php)可能无法正确重定向:

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^OldDomain [NC]
RewriteRule ^blog/(.*)$ NewDomain/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.OldDomain [NC]
RewriteRule ^blog/(.*)$ http://www.NewDomain/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /index.php?route=/$1 [L,QSA]