[英]Web.config URL Rewrite
我想重写所有路径,除了那些是真实文件或真实目录的路径,以及/api/*
到~/Default.aspx
。
这是我到目前为止的内容:
<rules>
<rule name="default" patternSyntax="Wildcard">
<match url="*" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="Default.aspx" />
</rule>
</rules>
问题在于它也将/api/*
重写为Default.aspx
。
尝试添加以下条件:
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{URL}" negate="true" pattern="(?:\/api)" />
</conditions>
我想到了。
<rules>
<rule name="api" stopProcessing="true">
<match url="(.*api*)" ignoreCase="true" />
<action type="None" />
</rule>
<rule name="default" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="Default.aspx" />
</rule>
</rules>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.