我有我的默认网站下的目录:
/myapp/ /myapp/v1/ /myapp/v2/ /myapp/v3/ /myapp/administration/
现在我想将所有在/myapp /myapp/或/myapp/index.html中input的用户redirect到/myapp/v3/index.html 。
请求来
/myapp/favicon.ico /myapp/typeyourfilenamehere.html
不应该被转发。 但我发现的唯一select是“只将请求redirect到此目录中的内容”,但不仅包括index.html ,还typeyourfilenamehere.html 。
我如何在IIS中configuration上述行为?
编辑:感谢@JamesRyan的快速答案,“IIS URL重写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>
乍一看,它的工作原理是缩进的,但也许有人可以解释我每一行告诉重写引擎的内容。
使用URL重写模块,然后根据您喜欢的任何模式重新定向。
http://www.iis.net/downloads/microsoft/url-rewrite
你可以安装这个IIS扩展,它可以让你重写基于正则expression式的请求string。
该接口根据您使用的是哪个版本的IIS而有所不同。 你在什么版本?