403.14 和默认文档

发布于 2024-09-28 16:49:17 字数 470 浏览 5 评论 0原文

我们的网络服务器出现问题,这让我们抓狂!

当我们在 web.config 中定义 defaultDocument 时,我们总是会遇到可怕的 403.14 Http 错误。配置是(在system.webserver内部):

<defaultDocument enabled="true">
    <files>
        <clear/>
        <add value="~/Forms_Mosaic/Our System.aspx"/>
    </files>
</defaultDocument>

我们使用的是IIS 7.0,如果我们打开目录浏览,我们可以愉快地浏览到指定的文件。我们将其所在的文件夹设置为匿名登录用户凭据,并且还可以使用完全限定的 URL 访问该页面。

谁能告诉我们为什么我们不断收到此错误?

谢谢。

We are having a problem on our web server which is driving us mad!!

When we define defaultDocument in our web.config we always get the dreaded 403.14 Http error. The config is (inside system.webserver):

<defaultDocument enabled="true">
    <files>
        <clear/>
        <add value="~/Forms_Mosaic/Our System.aspx"/>
    </files>
</defaultDocument>

We are using IIS 7.0 and if we turn directory browsing on we can happily browse to the specified file. We have the folders that it reside in set to ANONYMOUS LOGON user credentials and can also access the page with a fully qualified url.

Can anyone suggest why we keep getting this error?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

白衬杉格子梦 2024-10-05 16:49:17

我今天遇到了类似的问题,发现波浪号 (~) 和前导斜杠导致了该问题。例如,虽然以下内容似乎不起作用:

<defaultDocument enabled="true">
  <files>
    <add value="~/test.htm" />
  </files>
</defaultDocument>

将文件指定为普通 ole-relative URL 效果很好,至少对我来说是这样:

<defaultDocument enabled="true">
  <files>
    <add value="test.htm" />
  </files>
</defaultDocument>

但请注意,如果您所需的默认文档位于相对于应用程序根目录的子文件夹中(就像你的情况一样)然后当你浏览到子文件夹时你会遇到同样的问题。例如,如果您浏览到 http://example.com/Forms_Mosaic/ IIS 将寻找默认文档位于 http://example.com/Forms_Mosaic/Forms_Mosaic/Our%System.aspx< /a> 显然不会存在。

让我印象深刻的是,在OP的特定情况下,根文件夹中带有Server.Transfer或Response.Redirect的default.aspx可能是更好的解决方案,而不是使用站点范围的设置来处理真正的文件夹特定问题。

I came across a similar issue today and found that the tilde (~) and leading forward slash were causing the issue. For example, while the following doesn't seem to work:

<defaultDocument enabled="true">
  <files>
    <add value="~/test.htm" />
  </files>
</defaultDocument>

specifying the file just as a plain-ole-relative URL worked fine, at least for me:

<defaultDocument enabled="true">
  <files>
    <add value="test.htm" />
  </files>
</defaultDocument>

Note though that if your desired default document's in a subfolder relative to the application root (as seems to be the case for you) then when you browse to the subfolder you're going to get the same issue. For example, if you browse to http://example.com/Forms_Mosaic/ IIS'll be looking for a default document at http://example.com/Forms_Mosaic/Forms_Mosaic/Our%System.aspx which obviously won't exist.

Strikes me that a default.aspx in the root folder with a Server.Transfer or Response.Redirect might be a better solution in the specific case of the OP, rather than using a site-wide setting to handle what's really a folder-specific problem.

独自唱情﹋歌 2024-10-05 16:49:17

您指定的值不是有效的 URL。尝试:

<defaultDocument enabled="true">
    <files>
        <clear/>
        <add value="~/Forms_Mosaic/Our%20System.aspx"/>
    </files>
</defaultDocument>

The value you specified is not a valid URL. Try:

<defaultDocument enabled="true">
    <files>
        <clear/>
        <add value="~/Forms_Mosaic/Our%20System.aspx"/>
    </files>
</defaultDocument>
忘东忘西忘不掉你 2024-10-05 16:49:17

如果您使用 urlMappings,也可能会收到此错误。在这种情况下,该值必须是非映射值。因此,对于以下情况,如果值为 page-b.aspx,您将看到错误,但如果值为 page-a.aspx,则不会看到错误。

<urlMappings>
  <add mappedURL="~/page-a.aspx" url="~/page-b.aspx" />
</urlMappings>

You may also get this error if you are using urlMappings. In this case, the value will have to be the non-mapped value. So for the following situation, you will see the error if the value is page-b.aspx but not if it is page-a.aspx.

<urlMappings>
  <add mappedURL="~/page-a.aspx" url="~/page-b.aspx" />
</urlMappings>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文