7

我在我的本地主机上工作,所以我的 mod_rewrite 规则中需要这个例外。目前,当不在本地主机上时,我可以使用以下命令强制“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 像这样,但这也在我的本地主机上强制 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: 如果我有这样的URL:,https://scripts.domain.com我不希望它变成:https://www.scripts.domain.com

4

1 回答 1

5

在最后一条规则上方添加这一行:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]{3}$
于 2012-09-24T01:25:59.667 回答