【问题标题】:Using a custom-made 404 page instead of theme's使用定制的 404 页面而不是主题
【发布时间】:2020-04-18 16:12:28
【问题描述】:

我一直在尝试使用我在我的主题中创建的自定义 404 页面,并使用它来代替主题附带的默认页面。 由于我不是这方面的专业人士,所以我这样做的方式是:

  1. 像普通页面一样设计我想要的页面。
  2. 然后我复制了它的源代码(通过查看页面源代码)并创建了一个新的 404.html 文档。
  3. 我将此文件放在我的两个子文件夹中,然后尝试了我的 wp 安装的根文件夹(注意我目前处于开发模式)。
  4. 然后我编辑了我的 .htaccess 文件并放置了以下变体:ErrorDocument 404 /404-page-not-found.html(我的自定义 404 的确切 url),或者只是 /404.html 变体,位于 .htaccess 文件的开头。

注意:我的主题有自己的 404.php 模板,但我没有看到任何关于要更改的 url 并将其指向我定制的 404 的内容。

我完全搞错了吗?有人可以引导我朝着正确的方向前进吗?我简直不敢相信这很难做到......?!

提前感谢您的帮助..!

【问题讨论】:

  • 把你的404.html复制到404.php,这样最好..不需要为此开发新文件。
  • 您好@HritikPandey 和新年快乐:-) 感谢您抽出时间来帮助我。当您说“复制”时,您的意思是将 my404.html 文件的内容复制到 404.php 的内容?那不会产生问题吗?或者你的意思是取出/删除 php 并用我的 404.html 替换它?再次感谢!!!
  • 嘿@Tony,我的意思是,如果您创建的 404 页面布局与您的网站页面结构不同,那么只需将 404.html 的 html 内容放入 404.php 或者如果您使用相同的页眉、页脚对于 404 页面,只需更改页眉和页脚之间的内容。再次感谢!!
  • 嘿@HritikPandey,我在这里有点傻!我已经使用主题的构建器制作了 404 页面,就像我制作的任何其他页面一样。如果我将该页面的内容放在 404.php 中,那不会造成问题,因为我放置的不是 php,而是 html?然后您提到仅更改页眉和页脚之间的内容-其中-主题的404.php?对不起,我的困惑。
  • 更新:刚刚尝试将我的 404 的 html 复制粘贴到 404.php 的页眉/页脚之间。它工作但不是那么完美,因为我的 html(我从“查看页面源”中提取)也包含来自网站的所有信息,而不仅仅是特定页面的信息。我进行提取的原因是因为来自我的页面的代码包含来自我的页面构建器的各种短代码,所以我不能真正将它放在 html/php 文档中。我现在有点迷茫,希望我说得通!?

标签: html wordpress http-status-code-404


【解决方案1】:

如果您已经创建了 404 页面并且想要显示该页面而不是默认的 404 页面,那么此代码可以帮助您..

function redirect_404_custom() {
    if (is_404()) {
       // wp_redirect( home_url() ); //Redirecting to homepage
        // using a hard-coded URL.
        wp_redirect( 'https://example.com/some/page' );
    }
}

add_action( 'template_redirect', 'redirect_404_custom' );

【讨论】:

  • 您好@Hritik Pandey - 非常感谢您提供的代码。您提到我可以重定向到我创建的 404 的自定义 url,但是,代码有一个“home_url”变量。我在哪里定义自定义 404 网址?抱歉,我对此并不先进,因此请确保我理解代码!我真的很感谢你对我的耐心..!
  • 嗨@Tony,我已经更新了我的答案,你也可以像这样重定向..
【解决方案2】:

你好@Hritik Pandey

在您发布最后一个答案之前,我终于使用了一个有效的脚本。我不会再次更改它,因为担心我可能会再次造成混乱 :-) 这是对我有用的脚本:

    <?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: yoururl.com/");
exit();
?>

感谢您的耐心和帮助。真的很感谢!!!

【讨论】:

    猜你喜欢
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多