我想(临时(几个月顶))将子文件夹重定向到子域并保持网址完好无损。这是因为我们正在逐步将我们的网站移动到不同的服务器。
我们目前在IIS中有多个子应用程序,如:
www.ourdomain.com/shoppingcart
www.ourdomain.com/backoffice
我们希望将这些内容重定向到其子域名:
shoppingcart.ourdomain.com
backoffice.ourdomain.com
为此,我们将以下规则添加到web.config:
<rule name="MovedShoppingcart" stopProcessing="true">
<match url="^shoppingcart/([_0-9a-z-/]+)" ignoreCase="true" />
<action type="Redirect" url="http://shoppingcart.ourdomain.com/{R:1}" appendQueryString="true" />
</rule>
此规则适用于少数示例,但不适用于子文件夹:
www.ourdomain.com/shoppingcart - &gt; shoppingcart.ourdomain.com
www.ourdomain.com/shoppingcart/foo - &gt; shoppingcart.ourdomain.com/foo
以上2都很好,但是当我添加另一个子文件夹时,它不起作用:
www.ourdomain.com/shoppingcart/foo/bar?id=temp - &gt; shoppingcart.ourdomain.com/foo?id=temp
(缺少/ bar /)
我的重写规则有什么问题?
答案 0 :(得分:1)
在regexr中输入正则表达式时,该工具指示错误。
通过如下转义正斜杠,正则表达式应该可以正常工作。
^shoppingcart\/([_0-9a-z-/]+)