403尝试重定向时{公共文件夹中的禁止错误

时间:2016-10-05 21:36:53

标签: asp.net path url-redirection http-status-code-403

我有ASP.NET网站。

我可以访问公共页面,没关系:

  

http://mysite/MyPublicFolder/index.htm

但是当我尝试访问该文件夹时,我收到 403错误

  

http://mysite/MyPublicFolder/

MyPublicFolder包含 index.htm

我希望不允许用户浏览目录,只访问文件夹中的所有页面

我们遇到以下错误:

  

403 - 禁止访问:访问被拒绝

     

您无权使用以下方式查看此目录或页面   您提供的凭据。

<location path="/MyPublicFolder">
  <system.web>
     <authorization>
        <allow users="*"/>
     </authorization>
  </system.web>
 </location>

我正在使用IIS 7.5,Windows Server 2008 R2。

有什么建议吗?

更新 web.config

注意: v1 是我的公用文件夹

<location path="v1">
    <system.web>
      <authorization configSource="Config\system.web.authorization.allow.config" />
    </system.web>

    <system.webServer>
      <defaultDocument>
        <files>
          <add value="index.htm"/>
        </files>
      </defaultDocument>
      <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
          <add wildcard="*" destination="/v1/index.htm" />
        </httpRedirect>
    </system.webServer>

  </location>

    <location path="v1/index.htm">
    <system.webServer>
      <httpRedirect enabled="false" />
    </system.webServer>
  </location>

2 个答案:

答案 0 :(得分:0)

我想到的第一件事是默认文件。你把它设置为&quot; index.htm&#39 ;? Here更多信息。

答案 1 :(得分:0)

听起来有点令人困惑。您说您可以打开http://mysite/MyPublicFolder/index.htm,这意味着您已经可以访问此文件夹中的所有页面。我可以猜测,当您访问文件夹时,您希望重定向到index.htm文件。查看IIS管理器中的“默认文档”部分,确保index.htm存在。

<强>更新

您的web.config文件中似乎有很多无用的配置。将其更改为以下内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="v1">
    <system.web>
      <authorization configSource="Config\system.web.authorization.allow.config" />
    </system.web>
  </location>
</configuration>

现在,如果您访问v1文件夹,它会自动显示您index.htm文件的内容。