0

我目前正在使用我在网上找到的以下脚本:

    ########################################
    #### 开始编辑 MOD_REWRITE ####
    #### 这是为了强制 HTTPS ####
    #### 用于所有入站 HTTP 请求 ####

    ####
    # 这个模块 (mod_rewrite) 只是告诉 Apache2 所有连接到
    # 80 端口需要转到 443 端口。SSL 。没有例外
    ####

    
    LoadModule rewrite_module modules/mod_rewrite.so
    
    
    重写引擎开启

    ####
    # 下面的行设置了 mod_rewrite.so 的重写条件。
    # 即如果服务器端口不等于443,那么这个条件为真
    ####

    RewriteCond %{HTTPS} !=on
    #ReWriteCond %{SERVER_PORT} !^443$

    ####
    # 下面一行是规则,它说明如果上述条件为真,
    # 并且请求可以是任何 url,然后将所有内容重定向到 https:// 加上
    # 请求的原始 url。
    ####

    RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
    

    #### 为 MOD_REWRITE 结束编辑 ####
    #######################################

该脚本被添加到我的 httpd.conf 文件中,该文件在 LAMP 堆栈中的 CentOS 服务器上运行。它完全符合我的需要,即将所有流量重定向到服务器上的任何站点到 https。

但是,我想对服务器上托管的不需要使用 https 的站点之一进行例外处理。我该如何配置此异常?

对于可能是一个基本问题,我深表歉意,因为我不是专业的开发人员。

提前致谢!

4

2 回答 2

0

试试这个

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
于 2012-05-24T15:37:52.280 回答
0

弄清楚了。必须将下面的行添加为 RewriteCond:

RewriteCond %{HTTP_HOST} !^www\.example\.com*
于 2012-05-24T16:47:40.997 回答