[英]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.