3
下面的代碼是一個重定向腳本,可將我網站的訪問者重定向到www.domain.com(如果它們不在其上)他們在domain.com或somesub.domain.com)。我修改了它,將它們重定向到HTTPS或HTTP,具體取決於它們鍵入或鏈接到的鏈接。使用HTTP或HTTPS前綴將* .domain.com重定向到www.domain.com
它正在工作,但我猜測可能有一個更簡單的方法來做到這一點,或有一些改進的餘地。有人可以對此進行檢查/評論嗎?提前謝謝了。
# redirect any HTTP traffic that is not http://www.domain.com/*
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
# redirect any HTTPS traffic that is not https://www.domain.com/*
RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
謝謝您的回答!你能解釋一下新的第3行和修改後的第4行嗎?我想了解它的功能。 – ArendE 2012-03-16 16:35:19
在https的情況下,'%{HTTPS}'包含'on'。因此,通過在https中添加's',它將匹配'on(s)','%1'將包含's',否則%1將爲空。因此,在第4行中,您可以使用http或http * s *。 – Gerben 2012-03-16 18:08:54
完美的作品,非常感謝你爲這個更好的腳本和有用的信息! – ArendE 2012-03-16 22:53:16