我通过 IIS URL 重写模块重定向所有流量,4 个文件夹内的内容除外。这是针对 CMS 的。
一切正常,除非我为名为 public 的文件夹添加另一个规则。它不断抛出 500 个错误,这对我来说没有任何解释。
这是有问题的 web.config
如果公共规则被删除,一切都会正常。
<rewrite>
<rules>
<rule name="IgnoreManage" stopProcessing="true">
<match url="^manage/.*"/>
<action type="None" />
</rule>
<rule name="IgnoreContent" stopProcessing="true">
<match url="^content/.*"/>
<action type="None" />
</rule>
<rule name="IgnoreServices" stopProcessing="true">
<match url="^services/.*"/>
<action type="None" />
</rule>
<rule name="IgnoreServices" stopProcessing="true">
<match url="^public/.*"/>
<action type="None" />
</rule>
<rule name="Redirect" stopProcessing="true">
<match url="(.*)/(.*).html(.*)"/>
<action type="Rewrite" url="/Default.aspx?Path={R:1}/{R:2}"/>
</rule>
</rules>
这是我检查过的
以下文件夹和 IIS 权限相同:
mysite.myserver.com
mysite.myserver.com-SSL
两个地方都存在虚拟文件夹。两个地方的 web.config 是相同的。
找到了。规则名称重复。愚蠢的错误。