IIS 重定向到子目录

IIS 重定向到子目录

我的默认网站下有以下目录:

/myapp/
/myapp/v1/
/myapp/v2/
/myapp/v3/
/myapp/administration/

现在我想将所有在浏览器中输入/myapp/myapp/或 的用户 http 重定向到。/myapp/index.html/myapp/v3/index.html

请求到达

/myapp/favicon.ico
/myapp/typeyourfilenamehere.html

不应转发。但我发现的唯一选项是“仅将请求重定向到此目录中的内容”,但这不仅包括index.html,还包括typeyourfilenamehere.html

如何在 IIS 中配置上述行为?

编辑:感谢@JamesRyan的快速回答,“IIS URL rewrite 2.0”刚刚将以下内容放入我的Web.config中:

    <rewrite>
        <rewriteMaps>
            <rewriteMap name="/myapp">
                <add key="/myapp" value="/myapp/v3/" />
                <add key="/myapp/" value="/myapp/v3/" />
                <add key="/myapp/index.html" value="/myapp/v3/" />
            </rewriteMap>
        </rewriteMaps>
        <rules>
            <rule name="Umschreibregel1 für /myapp" stopProcessing="true">
                <match url=".*" />
                <conditions>
                    <add input="{/myapp:{REQUEST_URI}}" pattern="(.+)" />
                </conditions>
                <action type="Redirect" url="{C:1}" appendQueryString="false" />
            </rule>
        </rules>
    </rewrite>

乍一看,它像缩进一样工作,但也许有人可以向我解释每一行告诉重写引擎什么。

答案1

使用 URL 重写模块,然后您可以根据您喜欢的任何模式进行重定向,并附带您喜欢的任何例外。

答案2

http://www.iis.net/downloads/microsoft/url-rewrite

您可以安装此 IIS 扩展,它将允许您根据正则表达式重写请求字符串。

界面会根据您使用的 IIS 版本而有所不同。您使用的是哪个版本?

相关内容