301 .htaccess与Web根目录中的其他域重定向

时间:2013-07-29 15:41:23

标签: .htaccess redirect

通常,如果我想将域和该域中的所有页面重定向到另一个新域,我会在我的.htaccess文件中使用它:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !example.com$ [NC]
RewriteRule ^(.*)$ http://new-example.com/$1 [L,R=301]

但我有一个主机帐户,该主机使用cpanel并设置插件和子域,以包含在帐户主域的Web根目录中,而不是外部。不幸的是,这个htaccess代码也影响了所有其他域。如何编写此代码以使其仅影响example.com而不影响该帐户的其他插件域,但STILL会重定向主域中的所有文件?

2 个答案:

答案 0 :(得分:1)

您必须声明要重定向的域。在您说 not example.com的所有域都被重定向到new-example.com之前。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?example2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?example3\.com$
RewriteRule ^(.*)$ http://new-example.com/$1 [L,R=301]

答案 1 :(得分:1)

用以下内容替换现有规则:

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