通配符SSL证书 - 将http重定向到https
问题描述:
我的所有网站都有一个HTTPS虚拟主机。我正在尝试将http从https重定向到subsite2.server.co.uk。通配符SSL证书 - 将http重定向到https
这里是我的HTTPS虚拟主机(我缩短了它简洁):
<VirtualHost _default_:443>
ServerName *.server.co.uk
ServerAdmin [email protected]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.subsite1.server.co.uk$ [NC]
RewriteRule ^(.*)$ http://localhost:8080/VirtualHostBase/https
/www.subsite1.co.uk:443/Plone/VirtualHostRoot/$1 [L,P]
RewriteCond %{HTTP_HOST} ^subsite2.server.co.uk$ [NC]
RewriteRule ^(.*)$ http://subsite2.server.co.uk/$1 [P]
这里是我的HTTP虚拟主机:
<VirtualHost *:80>
ServerName subsite2.server.co.uk
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Alias /static-dir/ x:/.....
<Directory x:/.....>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias/x:/......
<Directory x:/......>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
我使用下面的重写条件和规则做重定向:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
但是,我遇到的问题是,它看起来好像服务器是在重定向循环。我怎样才能解决这个问题?
这里是从Firefox的错误:
The page isn't redirecting properly
答
矿正在使用类似的东西,我的猜测是,请尝试使用正则表达式匹配,而不是REQUEST_URI
RewriteEngine On
RewriteCond %{HTTP_HOST} =myhost.com
RewriteCond %{SERVER_PORT} !443
RewriteRule /(.*) https://%{SERVER_NAME}/$1 [R,L]
此外,您可以安装Live HTTP头插件(tools/live http头文件),并提供整个请求(包含重定向)跟踪? – 131
非常感谢,我的工作符合你的规则。 –