如何过去一起重定向301重写iis-8.5?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何过去一起重定向301重写iis-8.5?相关的知识,希望对你有一定的参考价值。

我遇到了一个问题。有一个主要的domaim https://example.com我有一个从http重定向到https。一切正常,但有一个问题,当我尝试在网址地址请求行www.example.com/exam/exam打印我被重定向到maim页面并在地址请求行中我看到以下地址:https / /example.com和其他请求被删除。但是如果我进入地址栏https://example.com/exam/exam - 那么一切正常。我需要你的帮助,并建议我如何改进重写以及我的代码有什么问题?

<rule name="Redirect to HTTPS" enabled="false" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions>
                    <add input="{HTTPS}" pattern="^ON$" />
                    <add input="{HTTP_HOST}" pattern="^([dw.]+)" />
                </conditions>
                <action type="Redirect" url="https://{C:1}/{REQUEST_URI}" />
            </rule>
            <rule name="RedirectDoubleHTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions>
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://example.com" />
            </rule>
答案

第二条规则中的问题。它应该是这样的:

<rule name="RedirectDoubleHTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions>
        <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" url="https://example.com{REQUEST_URI}" />
</rule>

你的第一条规则也有轻微修复。相反,https://{C:1}/{REQUEST_URI}"应该是https://{C:1}{REQUEST_URI}"

以上是关于如何过去一起重定向301重写iis-8.5?的主要内容,如果未能解决你的问题,请参考以下文章

301 重写/重定向规则导致 500 内部服务器错误

IIS 8.5将非www重定向到www无效

301重写规则导致SEO警报

.htaccess 结合 301 重定向和 URI 重写

htaccess 重定向 301 + 重写冲突

提交按钮的 HTML 不会将数据插入数据库并一起重定向到 URL