【问题标题】:force a user to https:// and non www address format强制用户使用 https:// 和非 www 地址格式
【发布时间】:2016-02-22 20:51:40
【问题描述】:

我有一个网站为 domain.com 设置了 SSL,但没有 www.domain.com。

我的 .htaccess 中有以下运行,

RewriteEngine On

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

RewriteCond %{HTTP_HOST} ^www.%{HTTP_HOST}$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

这似乎根本不起作用,基本上我有几个场景

http://www.domain.com -> https://domain.com
https://www.domain.com -> https://domain.com
http://domain.com -> https://domain.com

基本上,我希望将任何不是https://domain.com 的东西转发到https://domain.com,这样我的 SSL 就可以在没有警告的情况下工作。

【问题讨论】:

  • 您不能在任何地方重写对https://www.domain.com/ 的请求,如果浏览器由于证书无效而没有首先连接 - 它不会获取到可以进行任何重写的点。

标签: apache .htaccess mod-rewrite ssl


【解决方案1】:
RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteCond %{HTTPS} ^off$
RewriteRule ^(.*)$ https://domain.com/$1 [NC,R,L]

【讨论】:

    猜你喜欢
    • 2019-01-27
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多