如何使用URL重写规则排除子目录?

时间:2019-04-08 18:09:08

标签: iis url-rewriting windows-server-2012

我已经将应用程序托管在默认站点(www.mysite.com)上,并且在默认站点(www.mysite.com/car、www.mysite.com/bike和www.mysite.com)下创建了一些Web应用程序/船)。我已经为默认站点编写了URL重写规则,以便从我的一个子应用程序(www.mysite.com/ship)中提供服务,如下图(http://i64.tinypic.com/7319xi.png

image http://i64.tinypic.com/7319xi.png

  But, now the problem was my other sub applications not loading. How can I exclude my sub applications(www.mysite.com/bike) using URL rewrite rule?

2 个答案:

答案 0 :(得分:0)

该规则的问题如下 您的规则适用于所有情况,因为该模式为(。),所以如果有人使用mysite.com/bike/somehting或mysite.com/car/somehting这样的网址,则。与bike匹配或汽车,并改写为mysite.com/ship/bike/somehting或mysite.com/ship/car/somehting。

您需要根据特定要求微调规则。 例如,如果要重写或重定向主机名后不带任何内容的所有请求,然后将模式设置为^ $,则匹配为空或什么都不匹配,这将捕获类似于mysite.com的url,然后选择rewrite选项作为重定向,客户端将被重定向到mysite.com/ship

2)或在一定条件下,您可以添加类似REQUEST_URI与car /.*不匹配和REQUEST_URI与bike /.*不匹配的内容 这样可以确保它可以与汽车或自行车没有使用的所有其他网址一起使用,并且在重写时将船舶添加到该网址中

答案 1 :(得分:0)

解决此问题的方法很多。一种快速的方法是打开汽车/自行车/轮船应用程序的URL重写配置,然后在该级别禁用/删除规则。 IIS管理器->站点->默认网站->自行车。打开“ URL重写功能”,选择规则,然后单击“删除”。