重写 URL 导致打开同名文件夹

Rewriting URL causing opening folder with same name

我有以下规则从 url 的末尾删除 .aspx

<rewrite>
    <rules>
        <clear />
        <rule name="Redirect to clean URL" enabled="true" stopProcessing="true">
            <match url="^([a-z0-9/]+).aspx$" ignoreCase="true" />
            <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
            <action type="Redirect" url="{R:1}" />
        </rule>
        <rule name="RewriteASPX" enabled="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="{R:1}.aspx" />
        </rule>
    </rules>
</rewrite>

现在的问题是,每次都打开该路径中可用文件夹的同名特定页面,而不是该站点。

这是我的网站

假设当我单击 link City.aspx 时,它会打开名称为 City 的文件夹(在 FTP 中)而不是打开那个页面。

[已编辑]

删除 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 解决了问题,但现在在 url 中输入站点名称无效。

通过删除此问题解决了问题:

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

并添加:

<rule name="Canonical" stopProcessing="true">
   <match url=".*"/>
      <conditions>
         <add input="{HTTP_HOST}" pattern="^([a-z]+[.]com)$"/>
      </conditions>
         <action type="Rewrite" url="http://www.{C:0}/{R:0}/Index.aspx" redirectType="Permanent"/>
</rule>