【问题标题】:Usage of .htaccess for 404 error.htaccess 用于 404 错误
【发布时间】:2014-03-08 18:40:22
【问题描述】:

我在我的项目中使用.htaccess,我只使用以下代码

错误文档 404 /404.php

在根文件夹内的 .htaccess 中,但在尝试打开拼写错误的网页时,它不会重定向到 404.php。

我想知道.htaccess文件是否有语法错误。

我使用 .html 文件代替 .php 文件。但它会引发同样的错误。


找不到

在此服务器上找不到请求的 URL /ht/re。

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

【问题讨论】:

  • 语法看起来正确。错误日志说什么?听起来 404.php 出于某种原因不在正确的位置?
  • 不,我已经在目录中有 404.php。但是 [ ErrorDocument 404 "

    Page not found here

    " ] 这是有效的 [ ErrorDocument 404 /404.html ] - 这是无效的。我的意思是,当我在 .htaccess 文件夹中显示为文本时,它正在工作,但是当我链接到文件时,它不起作用
  • 你的错误日志说什么?你所拥有的应该工作。您是否尝试过将其直接添加到您的 apache 配置中?替代检查您的 AllowOverride 指令是否足够宽松。 httpd.apache.org/docs/2.2/mod/core.html#allowoverride
  • 不,我没有直接尝试 apache 配置。因为我有很多目录,应该有不同类型的自定义错误,所以我应该使用单独的 .htaccess 作为单独的目录。
  • 如果您使用的是虚拟主机,您可以将其添加到该站点的虚拟主机配置中。

标签: php .htaccess


【解决方案1】:

首先你必须找到你的错误页面

即在本地服务器上我的 404.php 在 root/error 然后

ErrorDocument 404 /error/404.php

这里第一个斜杠是服务器的根目录

您的服务器找不到 404.php 这就是问题所以找到您的 404.php

【讨论】:

  • 我在子目录下创建了404.php文件,它应该在根目录下。
  • 不,404.php 不需要在根目录下。但您必须为 404.php 指定正确的路径...如果您仍然有问题,请编写您的目录结构
  • 我的 htdocs 包含我在其中放置 .htaccess 文件的文件夹 ht。当我编写代码时,ErrorDocument 404 /404.php,它没有访问文件夹 ht 内的文件 404.php,但是当我将文件复制并粘贴到 htdocs 文件夹中时,它正在使用它。
  • 所以你必须写 ErrorDocument 404 /ht/404.php
  • 是的,我将代码写入 ErrorDocument 404 /ht/404.php。现在它起作用了!谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
  • 2021-04-16
  • 1970-01-01
相关资源
最近更新 更多