301重定向不在.htaccess中工作

时间:2016-03-29 12:12:41

标签: .htaccess redirect mod-rewrite

我有两个域,autodromodifranciacorta.itfranciacortacircuit.com都指向此IP地址上托管的同一网站:94.23.64.40

现在我希望所有内容都在一个域内,因此我决定将所有流量从franciacortacircuit.com重定向到autodromodifranciacorta.it

这是我的.htaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

# Redirect Entire Site to New Domain
RewriteCond %{HTTP_HOST} ^franciacortacircuit\.com$ [NC]
RewriteCond %{HTTP_HOST} ^www\.autodromodifranciacorta\.it$ [NC]
RewriteRule ^(.*)$ http://autodromodifranciacorta.it/$1 [R=301,L]

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


RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

重定向不起作用,我不知道为什么,因为语法对我来说是正确的。 处理.htaccess文件,因为如果我在其中输入拼写错误,我会收到服务器错误。

它有什么不对吗?

1 个答案:

答案 0 :(得分:0)

您的第二个http_host条件错误,如果当前主机是franciacortacircuit.com,它永远不会匹配,您需要使用 OR 条件来匹配2个不同的主机。

 #Redirect Entire Site to New Domain
 RewriteCond %{HTTP_HOST} ^franciacortacircuit\.com$ [NC,OR]
 RewriteCond %{HTTP_HOST} ^www\.autodromodifranciacorta\.it$ [NC]
RewriteRule ^(.*)$ http://autodromodifranciacorta.it/$1 [R=301,L]