.htaccess - 使用 htaccess 强制 SSL 和 WWW 一起使用

标签 .htaccess redirect ssl

我正在尝试通过 https 和强制 www 运行我的整个网站。

我见过许多提供强制 www 或 https 的解决方案,甚至还有一些组合,但我似乎无法使任何一个工作。我通常发现自己处于重定向循环中。

我得到的最接近的是以下内容,但还不够接近:

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

我需要 https://www.example.com/

http://example.com 成功
https://example.com 成功
http://www.example.com 失败
https://www.example.com SUCCESS,尽管没有真正的重定向。

谢谢

更新
以下代码成功执行了我需要的重定向:

RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

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

最佳答案

强制 https 和 www 是通过结合其他提供的答案来完成的。

这似乎可行:

RewriteCond %{ENV:HTTPS} !on [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

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

关于.htaccess - 使用 htaccess 强制 SSL 和 WWW 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11766995/

相关文章:

apache - 将 .htaccess HeaderName 应用于所有较低级别?

.htaccess - 使用 htaccess 将domain.com重定向到www.domain.com

apache - 虚荣 URL 重定向到跟踪 url

ruby-on-rails - rails 3 : Make sure the user uses https

Gitlab Pages 守护进程,/home/git 在哪里?

php - .htaccess 的相对 URL

.htaccess - net::ERR_INCOMPLETE_CHUNKED_ENCODING

.htaccess - htaccess 重定向友好获取文件

javascript - 很难理解 Laravel 中的重定向/路由

ssl - 如何加密(使用 SSL)Akka Remoting 消息?