从已解决的 url 中删除 /index.aspx

Remove /index.aspx from resolved url

我正在尝试添加一个出站重写规则,该规则从网站上已解析的 url 中删除了 index.aspx。有关我已制定的规则,请参阅我的以下更新。请参阅我关于简单规则无效的发现的第二次更新。

在这两种情况下,我都收到 500 错误,并且在事件查看器中看不到任何有助于缩小问题范围的信息。我们已经有了可以正常工作的入站规则,所以当我添加出站规则时,这尤其是一个问题。

更新

我一直在网上阅读并尝试使用以下出站规则,但一直收到 500 内部服务器错误?

<outboundRules>
<rule name="Remove index.aspx" preCondition="IsHTML">
    <match pattern="(.*?)/?index\.aspx" />
    <action type="Rewrite" value="{R:1}/" />
</rule>
<preConditions>
    <preCondition name="IsHTML">
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
    </preCondition>
</preConditions>
</outboundRules>

更新 2

我注意到这不是我的出站规则语法的问题,因为即使通过 IIS 界面输入最简单的规则也会破坏网站(导致 500 错误):

<outboundRules>
<rule name="test">
    <match filterByTags="A" pattern="test.com" />
    <action type="Rewrite" value="blah" />
</rule>
</outboundRules>

URL 重写模块已安装,因为我们的入站规则可以正常工作。如果有帮助,IIS 的版本是 7。

您使用的是 GZIP 压缩吗?这与出站重写规则冲突,可能是错误的原因。

请参阅:http://forums.iis.net/t/1165899.aspx 了解有关如何将出站重定向规则与压缩相结合的一些建议。