如何将所有HTTP请求重定向到HTTPS

我试图将我网站上的所有不安全HTTP请求(例如http://www.example.com )重定向到HTTPS( https://www.example.com )。 我使用PHP btw。 我可以在.htaccess中做到这一点吗?


更新:虽然这个答案在几年前已被接受,但请注意,现在推荐它的方法禁止Apache文档。 改为使用Redirect 。 看到这个答案。


RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

资源


Apache文档建议不要使用重写:

要将http URL重定向到https ,请执行以下操作:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    # ... SSL configuration goes here
</VirtualHost>

这个片段应该进入主服务器配置文件, 而不是像问题中提到的那样进入.htaccess

这篇文章可能只是在问题被提出并回答之后才提出来的,但似乎是目前的方式。


我建议使用301重定向:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
链接地址: http://www.djcxy.com/p/5273.html

上一篇: How to redirect all HTTP requests to HTTPS

下一篇: Trusting all certificates using HttpClient over HTTPS