另一个文件夹中的错误404

时间:2016-08-30 19:09:27

标签: php css .htaccess

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

ErrorDocument 404 /404.php

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

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

这应该表明:

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

看起来该页面无法访问css和js文件...我是否必须在 cd88 文件夹中创建另一个404.php?

2 个答案:

答案 0 :(得分:2)

  

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

     

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

答案 1 :(得分:0)

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

考虑一下:用户使用不存在的网址到达您的网站,导致404.他们会看到指定的ErrorDocument,他们的浏览器将在内部显示请求的404状态。

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

  1. 原来"坏" url,收到301/302重定向
  2. http://example.com/404.php的新请求,收到200 OK回复。
  3. 告诉用户所请求的页面不存在,同时通过200 OK提供该消息是非一个人。 "嗨,我是弗雷德,但我不存在"。

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