我有一条重写URL的规则,除非存在物理文件(因此可以返回静态文件) - 但是出于某种原因,规则会被重写,无论如何都会非常沮丧。
这是我的Web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Front Page">
<match url="/?" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="/Home/FrontPage" />
</rule>
<rule name="Map Everything" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="EntryPoint.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
答案 0 :(得分:0)
啊,事实证明“Front Page”规则是问题,规则是“/?”我应该使用“^ $”来匹配所有内容。
修复后,正在遵守IsFile / IsDirectory规则。