3

我试图让 URLRewriter 强制将 HTTP 请求重定向到 HTTPS。供应商文档似乎没有涵盖它。

我知道以下参数会引发错误,但可以说明我要完成的工作:

<rewriter>
    <if url="http://www.domain.com/test*">
       <rewrite url="http://www.domain.com/test*" to="https://www.domain.com/test*" />
    </if>
</rewriter>
4

2 回答 2

2

确切地知道抛出了什么错误以确保我在这里走正确的道路会很有用,但我认为您在使用 * 字符时要使用 . 字符(如果您打算将任何非安全 URL 重定向到安全版本,则可能是 .+)

于 2013-01-08T10:39:18.753 回答
2

看起来原始海报想要做的事情是这样的:

<rewriter>
    <if url="http://.*">
       <rewrite url="http://([^/]*)(.*)" to="https://$1$2" />
    </if>
</rewriter>

但是,这似乎根本不起作用——我不确定它在幕后做了什么来理解为什么。正则表达式似乎是正确的。我发现这个网站对解决其中一些问题非常有帮助: http ://regexhero.net/tester/

我终于找到了使它起作用的魔法咒语,来自:

https://webmasters.stackexchange.com/a/31318

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
于 2013-04-24T15:59:24.660 回答