在IIS上创建重写规则以重定向到同一服务器上的子目录

问题描述 投票:0回答:1

我有这样的网站结构:

https://example.org/
                    october-2018/
                                 index.html
                                 css/...
                                 js/...
                    november-2019/
                                 index.html
                                 css/...
                                 js/...
                    march-2020/
                                 index.html
                                 css/...
                                 js/...
                    ...

我想创建一个IIS重写规则,该规则将仅重写对裸域URL(https://example.org/)的请求,以服务于november-2019/目录的内容。我找不到任何示例,而且我对IIS的了解还不足以解决这个问题(如果是Apache或nginx,则对我来说要容易得多...)。

[如果很重要:由于我在公司环境中,因此我认为必须使用的平台上没有应用程序请求路由(ARR)扩展。

iis url-rewriting url-rewrite-module
1个回答
0
投票

您可以使用以下url重写规则:

    <rule name="ReverseProxyInboundRule5" stopProcessing="true">
           <match url="^$" />
           <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
           <action type="Rewrite" url="http://www.sample1.com/november-2019/" logRewrittenUrl="true" />
     </rule>

   <outboundRules>
    <rule name="rule5" preCondition="ResponseIsHtml1" stopProcessing="true">
            <match filterByTags="Link, Script" pattern="(.*)" />
            <conditions>
            <add input="{HTTPS}" pattern="on" />
            <add input="{HTTP_HOST}" pattern="www.sample1.com" />
            </conditions>
            <action type="Rewrite" value="/november-2019{R:1}" />
            </rule>
   <preConditions>
          <preCondition name="ResponseIsHtml1" logicalGrouping="MatchAny">
           <add input="{RESPONSE_CONTENT_TYPE}" pattern="text/html" />
           </preCondition>

    </outboundRules>
© www.soinside.com 2019 - 2024. All rights reserved.