【发布时间】:2014-04-27 13:24:01
【问题描述】:
这是一个相当新手的 URL 重写匹配问题。我希望能够匹配所有遵循该模式的 URI,并将所有此类匹配重定向到一个地方。
以下网址应匹配:
www.mydomain.com/foo/*
和
www.mydomain.com/foo
以上所有内容都应重定向到 www.mydomain.com/xyz/abc/something.html
所以,以下应该匹配:
www.mydomain.com/foo
www.mydomain.com/foo/bar
www.mydomain.com/foo/bar/baz.html
以下内容应该不匹配:
www.mydomain.com/blah/foo
www.mydomain.com/bloo/foo/blee
www.mydomain.com/bling/foo/blurp/blomp.html
我(也许是天真地)设置了这条规则:
<rule name="Rule1" stopProcessing="true">
<match url="foo/(.*)" />
<action type="Redirect" url="/xyz/abc/something.html" appendQueryString="true" redirectType="Permanent"/>
</rule>
此规则适用于
www.mydomain.com/foo/
www.mydomain.com/foo/bar
但它并没有触发
www.mydomain.com/foo (note missing trailing slash)
它被错误地触发
www.mydomain.com/anything/foo/
如何确保该规则仅针对以 /foo 开头的 URI 触发,并且针对以 /foo 开头且没有尾部斜杠的 URI 触发?
提前致谢。
【问题讨论】:
标签: iis-7 url-rewriting web-config url-rewrite-module