URL 重写 - IIS URL 重定向应用于所有网站,当它不应该



我正在尝试在IIS中为Jira进行一些简单的URL重写。我可以对一个网站进行重写,但它将规则应用于所有网站,这会打乱我的配置。我最近重新配置了所有的东西,之前它是按照我的预期工作的。

这就是我正在做的:

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

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

有人知道我切换的地方是否有设置或bug吗?任何建议都将不胜感激。

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

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

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

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

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

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

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

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

最新更新