【问题标题】:PHP: Redirect 404 errors below specific folderPHP:在特定文件夹下重定向 404 错误
【发布时间】:2016-06-17 14:51:37
【问题描述】:

我正在处理现有的 Intranet。我已经构建了一个应用程序,并希望处理 404 错误。
我遇到的问题是,这种错误管理应该只对位于我正在处理的文件夹下方的页面产生影响。

说明:
我的文件浏览器如下所示:

    • 一个文件夹
      • 另一个文件夹
        • RootOfMyApplication
          • 我的页面

我想使用 PHP 将 RootOfMyApplication 下的所有 404 错误重定向到特定页面。
例如,浏览到“..../anotherFolder/RootOfMyApplication/notExist.php”应该将我重定向到我的自定义页面,但浏览到“..../anotherFolder/notExist.php”不应该。

如果可能,我想让目录浏览遵循相同的规则:如果 url 链接到文件夹并且位于 RootOfMyApplication 之下,我会重定向到该页面。

问题来自于我不管理根目录,并且如果可能的话希望对我的文件夹外的导航没有影响。

编辑

我想做的和.htaccess 文件一样:当抛出错误时,我想自己处理,用PHP。我的问题是:“我可以做到吗,如果可以,我该怎么做?”。我不想使用配置文件。
如果有很好的解释,“不可能”将被接受为答案。

【问题讨论】:

  • 这和 PHP 有什么关系?
  • 这可能对你有帮助:stackoverflow.com/questions/1565628/…
  • 你在使用 Apache 吗?
  • 我使用的是 Apache2,但我想做的是用 PHP 设置重定向。我不知道这是否可能。我重新添加了 PHP 标记并编辑了问题。

标签: php redirect http-status-code-404


【解决方案1】:

未找到文件的错误处理是 Web 服务器(在您的情况下为 Apache)的工作。 PHP 帮不了你,因为你总是需要请求一个文件,然后由 PHP 执行。

如果你要请求一个不存在的文件,它就不能被执行并且网络服务器已经处理了这个错误。 (PHP 不会启动。)

但也许有一个解决方法:

  1. 如果您在服务器/应用程序上使用 URL 重写,可能有办法,但我们需要更多信息/代码。
  2. 您不能在您的根目录中创建一个 .htaccess 并更改您的文件夹的错误文档吗?
  3. 与管理员交谈并告诉他应该更改 httpd.conf 中文件夹的错误文档。

(2./ 3. 可能不是您允许的解决方案,因为您不想使用配置文件。)

【讨论】:

  • 2/3 确实不适用于根文件夹。但是我可以在我的子文件夹中设置一个 .htaccess 文件只在那里使用吗?我的意思是,我可以在我的应用程序的根目录中设置它,但不能在服务器根目录中设置。
  • 看服务器配置,试试看。管理员可以随时为您的文件夹执行此操作。
猜你喜欢
  • 2015-10-29
  • 1970-01-01
  • 2020-05-11
  • 2017-09-08
  • 2019-04-25
  • 2013-06-09
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
相关资源
最近更新 更多