Apache .htaccess用于附加https://www
我已经找了很长时间来寻找我的问题的解决方案或提示,但没有找到任何有价值的东西。基本上,我的应用程序是SSL安全的。我想要的就是Apache .htaccess用于附加https://www,apache,.htaccess,ssl,https,Apache,.htaccess,Ssl,Https,我已经找了很长时间来寻找我的问题的解决方案或提示,但没有找到任何有价值的东西。基本上,我的应用程序是SSL安全的。我想要的就是 如果用户试图在没有https和www的情况下打开应用程序,它应该自动附加“https://www” 如果用户输入“https://mydomain.com”,应改为“https://www.mydomain.com” 如果用户输入“www.mydomain.com”,则应更改为“https://www.mydomain.com” 我知道这可以通过.htaccess实现,
https://www
”https://mydomain.com
”,应改为“https://www.mydomain.com
”www.mydomain.com
”,则应更改为“https://www.mydomain.com
”RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R,L]
通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入文档根目录下的.htaccess
:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
尝试将以下规则添加到文档根目录中的htaccess文件:
RewriteEngine On
RewriteCond !{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
在.htaccess文件中
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [L,R]
</IfModule>
重新启动发动机
重写条件%{HTTPS}关闭
重写规则^(.*)$https://www.mydomain.com/$1[L,R]
RewriteCond%{HTTPS}off检查HTTPS是否已关闭。如果确实关闭了(URL不包含https://),则会应用重写规则并重定向用户。Anubhava-一气呵成。谢谢。如果你不介意,并且有一点时间,你能给我解释每一行吗。这会很有帮助的。我当然可以解释。第一条规则是检查主机名是否以www.
开头。如果条件为真,则将所有内容重定向到https://www.%{HTTP\u HOST}%{REQUEST\u URI}
这意味着在主机名前面加上www.
。第二条规则是检查是否未为当前URL设置HTTPS。如果此条件为真,则将所有内容重定向到https://%{HTTP\u HOST}%{REQUEST\u URI}
,这意味着对当前URL使用https。请参阅详细文档。谢谢Anubhava。解释得很好,很容易理解。再次感谢。祝你好运