从已解析的URL中删除/index.aspx

时间:2015-07-28 07:38:56

标签: asp.net url-rewriting

我尝试添加从网站上已解析的网址中删除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。

1 个答案:

答案 0 :(得分:2)

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

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