在.htaccess中,重定向除一个以外的所有域

Cyb*_*kie 13 .htaccess mod-rewrite redirect

我的服务器上有多个域.我想将它们全部重定向到一个(example.net).

我的.htaccess:

RewriteEngine on 
RewriteRule ^(.*)$ http://www.example.net/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

我将服务器上的所有URL重定向到一个主域,但该域也重定向到自己.因此,www.example.net返回301 Moved Permanently并重定向回自身.我被告知这对SEO不利.我怎么能解决这个问题?

小智 29

当您已经在所需的域上时,需要添加Rewritecond以防止它重定向.如果你谷歌它在线有很多例子,或者参见Apache的mod_rewrite文档RewriteCond部分.

您正在寻找的是:

RewriteEngine on 
Rewritecond %{HTTP_HOST} !^www\.example\.net
RewriteRule ^(.*)$ http://www.example.net/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)