IIS URL重定向应用于所有网站的时候不应该

时间:2015-06-30 21:39:26

标签: iis url-rewriting global

我正在尝试在IIS中为Jira做一些简单的URL重写。我可以为一个站点进行重写工作,但是它将规则应用于所有会破坏我的配置的站点。我最近重新配置了所有内容,然后才开始工作。

这就是我在做的事情:

打开IIS管理器>展开服务器>展开网站>选择特定网站>点击功能(URL重写)>添加规则配置>应用

此时此规则适用于要应用的每个站点,以包含默认站点。如果我选择一个新站点并单击URL重写,那么规则就在那里。我也可以从任何网站删除或禁用该规则,它适用于所有地方?

是否有人知道某些地方是否有某些设置已切换或有错误?任何建议将不胜感激。

2 个答案:

答案 0 :(得分:2)

检查您网站的高级设置(右键点击网站>管理网站>高级设置)并检查每个网站的物理路径。我想您可能会发现所有站点都指向相同的路径并使用相同的Web.config文件。这会导致此行为,因为更改一个站点将更改所有站点正在使用的单个web.config。

要解决此问题,您需要为每个站点设置单独的路径(并且通过扩展,将自动创建单独的web.config文件。)

答案 1 :(得分:0)

您可以在服务级别和网站级别设置重写规则。

当您在服务器级别创建规则时,您描述的行为是正确的,但您明确指出您仅选择了一个站点。

如果在站点级别更改规则确实会改变服务器级别的规则,那确实是一个错误,但我并不完全相信你。

仔细检查您是否正在编辑站点节点上的规则,而不是服务器节点。

网站规则通常存储在网站的web.config文件中,服务器规则存储在节点<rewrite><globalRules> in C:\Windows\System32\inetsrv\config\applicationHost.config

检查这些位置,看看在GUI中进行更改后它们是如何更改的。