我遵守了2条规则
规则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
&amp; 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.
请你指出我做错了什么。