我有兩個域,www.example.com和staging.example.com(都託管在同一個框中)。將非www域重定向到www,保留登臺
我想總是將example.com重定向到www.example.com,但是當我使用來自其他SO線程的解決方案時,它會打破暫存域。
有人能指出我正確的方向嗎?
謝謝!
更新:這是否覆蓋https以及?如果沒有,我需要做些什麼才能做到這一點?
我有兩個域,www.example.com和staging.example.com(都託管在同一個框中)。將非www域重定向到www,保留登臺
我想總是將example.com重定向到www.example.com,但是當我使用來自其他SO線程的解決方案時,它會打破暫存域。
有人能指出我正確的方向嗎?
謝謝!
更新:這是否覆蓋https以及?如果沒有,我需要做些什麼才能做到這一點?
你在你的根目錄下需要這個在您的.htaccess文件:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
魔力在於^表示它應該只重寫url,如果地址由example.com開頭。這將staging.example.com留在循環之外。
如果你需要做的是爲HTTPS以及剛剛添加以下行的條件,並調整它爲您的需要(=或= ON!):
的RewriteCond $ {HTTPS} =上
它給你:
RewriteCond ${HTTPS} =on
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
哦,不要忘記把RewriteEngine敘述上線在你的.htaccess文件的頂部
RewriteEngine On
# not HTTPS
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
# HTTPS
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
不應該有與staging.example.com任何衝突
https可以做什麼? – thekevinscott 2011-01-21 20:56:04
你想`staging.example.com`重定向到` www.staging.examp le.com`以及? – sdleihssirhc 2011-01-21 20:28:37
暫時停留在staging.example.com – thekevinscott 2011-01-21 20:49:21