2

我已经搜索了很长一段时间来获得解决方案或对我的查询的提示,但没有找到任何有价值的东西。基本上我有我的应用程序是 SSL 安全的。我想要的只是

  1. 如果用户尝试在没有 https 和 www 的情况下打开应用程序,它应该会自动附加“ https://www

  2. 如果用户输入“ https://mydomain.com”,它应该变为“ https://www.mydomain.com

  3. 如果用户输入“ www.mydomain.com”,它应该变为“ https://www.mydomain.com

我知道这可以通过 .htaccess 来实现,但我对这些文件的编写方式一无所知。

任何帮助将不胜感激。

4

4 回答 4

2

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_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]
于 2012-10-10T04:34:45.910 回答
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]
于 2012-10-10T04:35:55.540 回答
0

使用以下内容:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R,L]
于 2012-10-10T04:34:36.767 回答
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://),则应用重写规则并重定向用户。

于 2012-10-10T04:36:03.850 回答