【问题标题】:Issues with URL Rewrite in IIS 10IIS 10 中的 URL 重写问题
【发布时间】:2017-12-14 18:10:12
【问题描述】:

我首先要说明我不了解如何使用正则表达式,并且在不久的将来我没有时间学习它。 我读过一篇文章,解释了如何完全按照我的需要去做,但是当我尝试去做时,它根本无法正常工作并完全破坏了网页(404 错误)。 这是文章:IIS url rewrite role except some urls

我的问题是,当我在 GUI 中创建重写时,即使我在网站中输入并使用“完全匹配”而不是“正则表达式”,它也不会将 URL 重写为应有的内容(或我认为应该的方式,我显然错了)。

我想做什么:

  • 如果客户端转到myweb.site.com,则重定向到myweb.site.com/login
  • 除非直接去myweb.site.com/thispage.aspx

这是配置文件的片段:

<rules>
            <rule name="Redirect to Client Login on root lookup" enabled="true" patternSyntax="ExactMatch" stopProcessing="true">
                <match url="https://myweb.site.com" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{QUERY_STRING}" pattern="https://myweb.site.com/Default.aspx" negate="true" />
                </conditions>
                <action type="Rewrite" url="https://myweb.site.com/login" />
            </rule>

我更喜欢在 GUI 中执行此操作,但如果我必须手动编辑配置,那么我会这样做。

提前感谢您的帮助!对不起,没有更多的知识!

【问题讨论】:

  • &lt;match url="" /&gt; 应该只包含资源路径和可选的查询字符串,它不应该包含 URI 方案(http:https)或主机名和端口号(myweb.site.com )。
  • 你在{QUERY_STRING}输入条件中有一个完整的URL。查询字符串是? 字符之后的部分。
  • 请说明您是否希望 / 重写为 /login 或重定向到 /login。我认为重定向更有意义,否则您将拥有两个具有相同响应内容的 URL,这可能会使用户感到困惑。
  • 我希望将客户从/ 发送到/login,所以如果重定向是正确的方法,那就太好了!但是现在,我不确定在 GUI 的“模式”字段中输入什么内容(&lt;match url=...)。如果需要,GUI 不允许您将其留空。 *** 编辑 - 我已经编辑了原件,因为它是由网站自动修改的。它应该更清楚地说明我想做什么

标签: url iis url-rewriting


【解决方案1】:

在你的情况下,规则应该是这样的:

<rule name="root to login" stopProcessing="true">
    <match url="^$" />
    <conditions>
        <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" url="https://myweb.site.com/login" appendQueryString="true" redirectType="Permanent" />
</rule>

此规则只会将http://myweb.site.com 重定向到https://myweb.site.com/login

不会https://myweb.site.com重定向到https://myweb.site.com/login。 (如果您想允许这样做,只需删除 condiitons 部分)

在这一行&lt;match url="^$" /&gt; url 属性应该包含 url 路径的模式。在您的情况下,url 路径为空(因为它是主页),而正则表达式 ^$ 表示空字符串

【讨论】:

    猜你喜欢
    • 2020-04-19
    • 2012-06-18
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 2019-10-26
    • 2011-10-21
    • 2014-10-23
    • 2021-11-14
    相关资源
    最近更新 更多