【问题标题】:error 404 in another folder另一个文件夹中的错误 404
【发布时间】:2016-08-31 03:21:55
【问题描述】:

我有一个网站,我已经像这样配置了 .htaccess

ErrorDocument 404 /404.php

但是,当我们尝试像这样访问网站中的文件夹 html 页面时(该页面不存在):

http://www.copyrightdepot.com/cd88/0005654.htm

这应该显示:

http://www.copyrightdepot.com/404.php

页面似乎无法访问 css 和 js 文件...我必须在 cd88 文件夹中创建另一个 404.php 吗?

【问题讨论】:

  • 如果.htaccess 仅在该文件夹内;是的,您很可能需要为另一个文件夹创建一个新文件夹。如果是这样的话,你为什么不把它放在你的根目录中(如果是这样的话)。 .htaccess 现在在哪里?
  • .htaccess 位于根文件夹中...现在,它正在使用 404 页面的完整 URL :)

标签: php css .htaccess


【解决方案1】:

http://httpd.apache.org/docs/2.2/mod/core.html#errordocument 说:

URL 可以以斜杠 (/) 开头,表示本地网络路径(相对于 > > DocumentRoot),或者是客户端可以解析的完整 URL。或者,可以提供一条消息以供浏览器显示。

【讨论】:

    【解决方案2】:

    更改浏览器地址栏中显示的 URL 需要重定向。 ErrorDocument 本身不会进行重定向。

    想一想:用户使用不存在的 url 到达您的站点,导致 404。他们会显示指定的 ErrorDocument,并且他们的浏览器将在内部显示请求的 404 状态。

    如果 ErrorDocument 进行了重定向,浏览器将显示两个请求。

    1. 原始的“错误”网址,收到 301/302 重定向
    2. http://example.com/404.php 的新请求,收到 200 OK 响应。

    告诉用户请求的页面不存在,同时通过 200 OK 提供该消息是不合理的。 “嗨,我是 Fred,但我不存在”。

    404 响应的标准行为是假定它是临时的,然后重试该 URL。如果浏览器收到 301(永久)重定向,它永远不会返回到原始(错误)url,而是自动加载 /404.php 页面 - 即使原始 URL 已修复并提供内容。

    【讨论】:

      猜你喜欢
      • 2013-05-10
      • 2020-09-24
      • 2017-03-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      相关资源
      最近更新 更多