我为我的网站购买了EV Certificates
,我试图在用户输入时强制使用HTTPS:
目前我的htaccess
文件中包含此代码:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
但是,它似乎没有正常工作。它只强制我的主页上的SSL,而不强制网站上的其他页面。
我做了一些研究,发现了这段代码:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
我想知道这些是做同样的事吗?
答案 0 :(得分:0)
重写规则按照它们编写的顺序进行评估。
RewriteRule A B
RewriteRule C D
RewriteRule E F
对于每个传入的HTTP请求,首先会将A
重写为B
,然后将C
重写为D
,然后E
重写为F
}。
如果任何规则以[L]
(“最后”)结尾,则表示如果[L]
规则匹配,则应忽略以下所有规则。
在您的情况下,您有一些首先检查并适用的规则,因此不会评估您的HTTPS重定向。
首先提出这些基本规则。对于每个传入的HTTP请求,您想首先询问“我们说的是正确的协议吗?”并在必要时进行修复,然后再检查更深入的规则并进行内部重写。< / p>