通常,如果我想将域和该域中的所有页面重定向到另一个新域,我会在我的.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会重定向主域中的所有文件?
答案 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]