我有以下两条规则
规则1:
<rule name="DirectoryRewrite" stopProcessing="true">
<match url="(.*)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{URL}" pattern="\.aspx" negate="true" />
<add input="{URL}" pattern="\.ashx" negate="true" />
<add input="{URL}" pattern="\.asmx" negate="true" />
<add input="{URL}" pattern="\.axd$" negate="true" />
</conditions>
<action type="Rewrite" url="/Views/{R:1}/default.aspx" />
</rule>
规则 2:
<rule name="RootRewrite" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{URL}" pattern="\.aspx" negate="true" />
<add input="{URL}" pattern="\.ashx" negate="true" />
<add input="{URL}" pattern="\.asmx" negate="true" />
<add input="{URL}" pattern="\.axd$" negate="true" />
<add input="{REQUEST_FILENAME}.aspx" matchType="IsFile" />
</conditions>
<action type="Rewrite" url="/Views/{R:1}.aspx" />
</rule>
user
我的根目录中有一个文件夹,其中包含settings.aspx
& default.aspx
,并且 root 也包含一些文件,即faq.aspx &
contact.aspx
.
如果有人进入,这就是我想要实现的目标
site.com/user
然后使用规则 1 将其带到用户目录,如果有人键入,则以同样的方式
site.com/terms
,它应该把它们带到terms.aspx。到目前为止,规则一工作正常,它重定向到给定的目录,但是当我试图访问根目录(即terms
或contact
)中的页面时,它会将它们与规则 1 匹配并尝试查找terms
或contact
目录,但一无所获返回The resource cannot be found.
你能指出我做错了什么吗?