我在我的localhost上工作,所以我在mod_rewrite规则中需要这个例外。目前,我可以在不使用localhost的情况下强制使用“www”:
# Force www, if not in localhost
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
现在,我还要强制https(我的整个网站都在https下)。如何将此添加到我的htaccess?
我尝试像这样制作我的htaccess,但这也强制我的localhost上的https:
# Force https, if not in localhost
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Force www, if not in localhost
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
更新1:
我想我需要删除第一个[R=301,L]
。
更新2:
如果我有这样的网址:https://scripts.domain.com
,我不希望它变成:https://www.scripts.domain.com
。
答案 0 :(得分:5)
在最后一条规则上方添加此行:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]{3}$