【问题标题】:How to redirect 404 error to 404.php page?如何将 404 错误重定向到 404.php 页面?
【发布时间】:2016-01-06 21:48:43
【问题描述】:

我需要 php 方面的帮助。我正在用 Core Php 制作一个门户网站。我已经创建了 404 页面和 .htaccess 文件。

404.php:

<html>
  <head>
    <title>404 Error - Page Not Found</title>
  </head>
  <body>404 Error - Page Not Found!</body>
</html>

.htaccess:

Redirect 404 /404.php 

但这不起作用。如果我使用此代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /404.html [L]
</IfModule>

显示内部服务器错误。

这是我的网站:http://jobguide.australianenglishcenter.com/

【问题讨论】:

    标签: php


    【解决方案1】:
    ErrorDocument 404 http://example.com/404/
    

    将此行添加到 htaccess 并更改 url

    【讨论】:

    • 我可以看看你的htaccess
    • 是的,这是我在 .htaccess 中添加的唯一代码
    • ErrorDocument 404 jobguide.australianenglishcenter.com/404.php 尝试添加 http:// 如果它不起作用,请检查 php config 是否在您的服务器上安装了 rewrite 模块
    • 我正在使用 http:// 但无法正常工作。我也认为存在一些服务器问题。我是从头开始做这个项目的。所以如果我需要在我的项目中添加 php 配置文件怎么办?
    • 新建一个文件,添加这段代码: 并给出该文件的链接,将检查一次配置
    【解决方案2】:

    在你的 .htaccess 中试试这个:

    ErrorDocument 404 http://jobguide.australianenglishcenter.com/404/
    
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_URI} ^/404/$
    RewriteRule ^(.*)$ <YourRelativePathToPHPFile>/404.php [L]
    

    这里,ErrorDocument 将所有 404 重定向到特定 URL

    重写规则将该 URL 映射到您的实际 404.php 脚本。如果您愿意,可以使 RewriteCond 正则表达式更通用,但我认为您必须明确定义要覆盖的所有 ErrorDocument 代码。

    注意:替换

    【讨论】:

    • 这是我在 .htaccess 中使用的...但不工作
    • jobguide.australianenglishcenter.com/404 上没有任何内容。您使用的路径是否正确?
    • 是的,您可以查看此链接:jobguide.australianenglishcenter.com/404.php
    • 我使用了你的代码并且它可以工作,但我没有重定向到我的 404 页面。这是我网站的链接,请查看jobguide.australianenglishcenter.com
    • RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/404/$ RewriteRule ^(.*)$ jobguide.australianenglishcenter.com/404.php [L]
    【解决方案3】:

    htacces 应该看起来像

    ErrorDocument 404 /page404.php
    

    【讨论】:

      【解决方案4】:

      您必须打开重写引擎。然后自定义一个php页面来处理404错误。参考以下代码

      RewriteEngine on
      ErrorDocument 404 http://www.example.com/your-404-custom-file-name.php
      

      【讨论】:

        【解决方案5】:

        调用函数:

        http_send_status(404);
        

        【讨论】:

        【解决方案6】:

        您也可以使用下面将所有 404 请求重定向到特定页面

        FallbackResource /index.html
        

        【讨论】:

          【解决方案7】:

          您始终可以使用方法http_response_code(int code)Here is the method documentation.

          【讨论】:

            【解决方案8】:

            您可以在 404.php 中尝试此代码,您可以在其中创建自己的错误页面...

            <?php header('Location: /directory/page-name/'); ?>
            

            【讨论】:

              【解决方案9】:

              打开你的 htaccess 并插入这个

              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteRule ^(.*)$ index.html
              

              【讨论】:

              • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
              【解决方案10】:

              我认为在项目中添加 404、505 或其他页面的简单方法只需将简单的内容放入项目根文件夹中的 .htaccess 文件中并粘贴简单的行

              RewriteEngine on
              errordocument 404 http://localhost/MVC_Project2/404.php
              

              【讨论】:

                猜你喜欢
                • 2015-08-01
                • 2013-06-09
                • 2023-03-27
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-09-25
                • 1970-01-01
                相关资源
                最近更新 更多