我正在使用FileMapProvider
为网站提供动态重写。这适用于除了主页之外的所有内容,我收到以下错误:
HTTP错误403.14 - 禁止
Web服务器配置为不列出此目录的内容。
我明白为什么会这样。这是因为在请求http://localhost:52709/
时,请求的物理路径是一个文件夹,但实际上我只想要主页。我怎样才能实现这个目标?
这是我的web.config
<rewrite>
<rules>
<rule name="FileMapProvider" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{FileMapProvider:{R:1}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" />
</rule>
</rules>
<providers>
<provider name="FileMapProvider" type="FileMapProvider, Microsoft.Web.Iis.Rewrite.Providers, Version=7.1.761.0, Culture=neutral, PublicKeyToken=0545b0627da60a5f">
<settings>
<add key="FilePath" value="{DOCUMENT_ROOT}\App_Data\rewriterules.txt" />
<add key="IgnoreCase" value="1" />
<add key="Separator" value="," />
</settings>
</provider>
</providers>
</rewrite>
以下是rewriterules.txt
, content/client/site/layouts/home.aspx?menuid=123
答案 0 :(得分:0)
我不确定使用FileMapProvider
是否可以实现这一点,所以在web.config
中,我只是执行了以下规则:
<rule name="Rewrite Only Root to Virtual Directory" stopProcessing="true">
<match url="^/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="/content/client/site/layouts/home.aspx" />
</rule>