【问题标题】:Wild card SSL certificate - redirect http to https通配符 SSL 证书 - 将 http 重定向到 https
【发布时间】:2012-01-09 05:47:03
【问题描述】:

我的所有网站都有一个 HTTPS 虚拟主机。我正在尝试将 subsite2.server.co.uk 从 http 重定向到 https。

这是我的 HTTPS 虚拟主机(为简洁起见,我将其缩短了):

<VirtualHost _default_:443>   
    ServerName *.server.co.uk  
    ServerAdmin imran.azad@server.co.uk

    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

【问题讨论】:

    标签: apache mod-rewrite virtualhost


    【解决方案1】:

    我正在使用类似的东西,我的猜测是,尝试使用您的正则表达式匹配而不是 REQUEST_URI

    RewriteEngine On
    RewriteCond %{HTTP_HOST} =myhost.com
    RewriteCond %{SERVER_PORT} !443
    RewriteRule /(.*) https://%{SERVER_NAME}/$1 [R,L]
    

    【讨论】:

    • 另外,您能否安装实时 http 标头插件(工具/实时 http 标头),并提供整个请求(带有重定向)跟踪?
    猜你喜欢
    • 2016-01-15
    • 1970-01-01
    • 2018-02-04
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2015-01-01
    相关资源
    最近更新 更多