我已经搜索了很长一段时间来获得解决方案或提示我的查询,但没有找到任何有价值的东西。基本上我有我的应用程序SSL保护。我只想要那个
如果用户尝试在没有https和www的情况下打开应用程序,则会自动附加“https://www
”
如果用户输入“https://mydomain.com
”,则应更改为“https://www.mydomain.com
”
如果用户输入“www.mydomain.com
”,则应更改为“https://www.mydomain.com
”
我知道这可以通过.htaccess实现,但我对这些文件的编写方式一无所知。
任何帮助都将受到高度赞赏。
答案 0 :(得分:2)
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
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]
答案 1 :(得分:1)
尝试将这些规则添加到文档根目录中的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]
答案 2 :(得分:0)
使用以下内容:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R,L]
答案 3 :(得分:0)
在.htaccess文件中
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [L,R]
</IfModule>
RewriteCond%{HTTPS} off会检查HTTPS是否已关闭。如果它确实关闭(URL不包含https://),则应用重写规则并重定向用户。