首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ErrorDocument 404 /404.php在.htaccess文件中不起作用

ErrorDocument 404 /404.php在.htaccess文件中不起作用
EN

Stack Overflow用户
提问于 2014-04-10 09:01:23
回答 3查看 68.8K关注 0票数 27

我在根目录中有一个.htaccess文件和404.php文件。我的.htaccess文件的内容是:

代码语言:javascript
复制
ErrorDocument 404 /404.php 

但是当我拼写错误的url时,404.php无法打开。相反,我得到了以下消息:

找不到

在此服务器上找不到请求的URL /mywebsite/ites.php。

此外,在尝试使用ErrorDocument处理请求时,遇到了404未找到错误。

但当我尝试ErrorDocument 404 google.com时,它起作用了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-10 09:22:13

我将总结我对这个答案的评论:

设置时...

代码语言:javascript
复制
ErrorDocument 404 /404.php

/404.php路径可能不是htdocs文件夹根目录的绝对路径,而是文件系统的根目录。这可能是基于您的配置,例如/home/htdocs/~等。

因此,人们需要做的是找出绝对路径并相应地设置它。

票数 23
EN

Stack Overflow用户

发布于 2014-04-10 09:04:53

相对于.htaccess文件,您的404.php实际位于何处?你能简单地把它作为一个直接的URL来运行吗?该文件是否可由服务器读取?或者它是在嵌套的子目录中?您也可以尝试完整的URL:

代码语言:javascript
复制
ErrorDocument 404 http://mygreat.server/404.php 

请参阅official Apache documentation here中的详细信息。

票数 21
EN

Stack Overflow用户

发布于 2018-09-19 00:41:53

您可以这样使用ErrorDocument

ErrorDocument <3-digit-code> <action>

<3-digit-code>是一个HTTP response status code (例如,"404")。

您有三种类型的<action>,它们由您键入的内容触发:

如果操作以“/”开头,则为

  1. :要重定向到的本地路径。如果操作是有效的URL,则为
  2. :要重定向到的外部URL。如果以上两项都不是:要显示的文本,则为
  3. 。(如果文本包含多个单词,则必须用引号(“")括起来。)

例如:

本地路径ErrorDocument 404 /local/path/to/404.php

外部网址ErrorDocument 404 http://external_url.example.com/server_error.html

自定义文本ErrorDocument 404 "Oops! We can't find that pesky file. Sorry."

您选择了一个本地路径,但从服务器的角度来看,可能没有正确地指向该文件。请注意,本地服务器路径不是您在URL中看到的路径,并且通常包含诸如~/htdocs/www/domainname/之类的内容。

问题很可能是404.php的路径错误,服务器找不到它。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22976772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档