【问题标题】:htaccess rewrite - rewrite http folder to https folder [closed]htaccess rewrite - 将http文件夹重写为https文件夹[关闭]
【发布时间】:2012-09-07 06:22:16
【问题描述】:

就像标题一样。 我想将整个文件夹(在本例中为 /w1/)从 http 重定向到 https。 如何将这个:http://testdomain.com/system/w1/(以及所有与该文件夹)重定向到此:https://testdomain.com/system/w1/(以及所有与该文件夹)。例如http://testdomain.com/system/w1/w1_input.php 将被重定向到 https://testdomain.com/system/w1/w1_input.php

我试图使用这种规则:

RewriteCond %{HTTPS} !=on
RewriteRule ^/w1(.*)$ https://testdomain.com/system/w1/$1 [R=301,L]

但这没有任何作用

【问题讨论】:

    标签: .htaccess http https


    【解决方案1】:

    如果这些规则在 htaccess 文件中,则在通过重写引擎之前会从 URI 中去除前导斜杠,因此 ^/w1 将不会匹配任何内容。看起来您可能在 /system/ 目录中的 htaccess 文件中有这些规则:

    RewriteCond %{HTTPS} !on
    RewriteRule ^w1/(.*)$ https://testdomain.com/system/w1/$1 [R=301,L]
    

    如果不是:

    RewriteCond %{HTTPS} !on
    RewriteRule ^system/w1/(.*)$ https://testdomain.com/system/w1/$1 [R=301,L]
    

    【讨论】:

    • 这些规则不起作用。它不会重定向到 https
    • 你的htaccess在哪里?你试过什么网址,但没有用?
    【解决方案2】:

    无需 .htaccess 和/或重写。只需在 http.conf 级别将 RedirectMatch 放入您的非 ssl 主机定义中。

    <Host example.com:80>
       RedirectMatch 301 (.*) https://example.com$1
    </Host>
    

    【讨论】:

    • 这会重定向所有内容,OP 只想重定向 /w1/ 文件夹。
    • 这可以很容易地添加到比赛中。
    • 我无权访问该文件 - 我只能使用 htaccess
    猜你喜欢
    • 1970-01-01
    • 2021-11-20
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2015-11-16
    • 2013-04-02
    • 2016-04-23
    相关资源
    最近更新 更多