将非www域重定向到www,保留登台
问题描述:
我有两个域,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任何冲突
+0
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