我想将所有HTTP请求重定向到我的HTTPS(SSL)协议。请大家,这不是重复。我已经尝试过在SO上找到的所有问题,这些问题都表明了这个问我尝试了我在互联网上找到的所有东西,但仍然无法弄清楚问题是什么。可能某个地方必须启用或类似的东西。
我想从我的httpd.conf
文件重定向而不是从.htaccess
重定向,因为这是Apache Org建议的。我当前的重定向规则是
<VirtualHost *:80>
ServerName www.example.com
Redirect / https://www.example.com/
</VirtualHost >
<VirtualHost *:443>
ServerName www.example.com
</VirtualHost >
我正在httpd.conf
/etc/httpd/conf/httpd.conf
文件中进行所有这些更改
每次更改后,我都会按照/etc/init.d/httpd restart
或service httpd restart
我也试过了
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/%$1 [R,L]
但是当我访问我的网站www.example.com
时,我仍未被重定向到https://www.example.com
。
我有一台VPS服务器,因此有足够的权限访问我的机器以启用或禁用某些内容。
答案 0 :(得分:2)
尝试:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
答案 1 :(得分:0)
这对我有用:
# Force SSL
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]