【问题标题】:IIS url rewrite rules to hide subfoldersIIS url 重写规则以隐藏子文件夹
【发布时间】:2018-09-18 08:29:13
【问题描述】:

我有 2 个 .net API 项目,servce1 和 service2。 我想将它们都放在同一个域(站点)下。我可以确保 API 路由不重叠。 我将项目部署为:

我想要实现的是,我可以使用 http://mydomain/api/ONEhttp://mydomain/api/TWO 来访问 service1 和 service2 API,而无需 URL 中的子文件夹。

我尝试使用 URL 重写模块,我得到它适用于一个,但我无法让第二个工作,具有相同的设置。请参阅下面的设置文件。

我尝试移动规则订单。没有运气。

<rewrite>
        <rules>
            <clear />
            <rule name="first" stopProcessing="false">
                <match url="(.*)ONE(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
                    <add input="{REQUEST_URL}" pattern="(.*)/api/ONE(.*)" />
                </conditions>
                <action type="Rewrite" url="/Servuce1/api/ONE{R:2}" logRewrittenUrl="true" />
            </rule>
            <rule name="seconds" stopProcessing="false">
                <match url="(.*)TWO(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="true">
                    <add input="{REQUEST_URI}" pattern="(.*)/api/TWO(.*)" />
                </conditions>
                <action type="Rewrite" url="/service2/api/TWO{R:2}" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>

我的设置有什么问题?

有什么选择?

【问题讨论】:

    标签: asp.net iis url-rewriting url-routing url-rewrite-module


    【解决方案1】:

    是否应该将 stopProcessing 设置为“true”,以便在匹配第一条规则时不应用第二条规则?

    【讨论】:

      猜你喜欢
      • 2020-12-13
      • 2011-09-23
      • 2014-04-08
      • 2012-08-20
      • 2020-02-17
      • 2022-11-17
      • 2023-03-26
      • 2013-04-19
      • 1970-01-01
      相关资源
      最近更新 更多