Dot-Htaccess
.htaccess - 將非 www 重定向到 www 並保留子域不重定向
因此,在我的主域“domain.com”上,我從 cPanel 創建了幾個子域,例如“sub1.domain.com”和“sub2.domain.com”。它們在伺服器上的真實位置在“domain.com/sub1”和“domain.com/sub2”中。
現在,我想用 .htaccess 將非 www 重定向到 www,這就是我目前所擁有的:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] </IfModule>
這行得通。當有人輸入 domain.com 時,它將被重定向到 www.domain.com。但是,當有人輸入 sub1.domain.com 時,他將被重定向到 www.domain.com/sub1 - 我不想要,它需要在 sub1.domain.com 中。
我應該在 .htaccess 文件中添加什麼來完成此操作?
您可以像這樣單獨排除每個
sub1
;sub2
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^sub1\.domain\.com [NC] RewriteRule ^(.*) - [L] RewriteCond %{HTTP_HOST} ^sub2\.domain\.com [NC] RewriteRule ^(.*) - [L] RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC] RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] </IfModule>
或者只是具體說明您只想重定向
domain.com
到www.domain.com``RewriteCond
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^domain\.com [NC] RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] </IfModule>