这是我在网络配置中的规则
<rule name="rewrite">
<match url="^([^/]+)/([^/]+)?$" />
<action type="Rewrite" url="/review.aspx?c={R:1}&t={R:2}" appendQueryString="false" />
</rule>
成功将review.aspx?c=value&t=value
转换为/value/value
我现在的问题是,我的/css/style.css
现在加载为review.aspx
有没有办法阻止这种情况?不仅适用于CSS,而且适用于所有实例?
Rewrite rule conditions使您可以限制重写规则的应用,这样它仅适用于满足条件的那些请求。
通过定义以下条件,您可以确保仅针对与现有文件不匹配的URL进行重写。
<rule name="rewrite">
<match url="^([^/]+)/([^/]+)?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="isFile" negate="true" />
</conditions>
<action type="Rewrite" url="/review.aspx?c={R:1}&t={R:2}" appendQueryString="false" />
</rule>
由于匹配模式,您可能需要添加排除项,例如:
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_URI}" pattern="\.js|\.css|\.jpg" negate="true" />
</conditions>