主页/WordPress笔记/博客文章/综合文章/如何在 WordPress 中轻松跟踪 404 页面并重定向它们

如何在 WordPress 中轻松跟踪 404 页面并重定向它们

Bug编译狮

Bug编译狮

在WordPress中设置404错误页面和实现自动重定向可以帮助用户更好地理解网站的结构和功能。以下是如何在WordPress中设置404错误页面以及实现自动重定向的详细步骤。

步骤1:创建或编辑404错误页面

首先,在您的WordPress后台,导航到Appearance > Themes(或Settings > Reading),然后选择您希望显示404错误页面的主题。点击“Edit”按钮来编辑这个主题。

  • 添加404错误页面:在模板文件中找到与404错误相关的部分,通常位于functions.php文件内。您可以根据需要添加一个新页面或修改现有页面以显示404错误信息。

示例代码:

// 在functions.php中添加以下代码片段:
function custom_404_page() {
    if ( is_404() ) {
        // 检查是否已存在名为'custom_error_page'的自定义页面
        $page_id = get_page_by_title( 'Custom Error Page', OBJECT, 'post' );

        if ( !empty($page_id) && $page_id->ID != 0 ) {
            echo '<h2>' . esc_html__( 'Oops! This page could not be found.', 'textdomain' ) . '</h2>';
            echo '<p>' . esc_html__( 'The page you are looking for might have been removed or it may no longer exist. Please try using the search box below to find what you are looking for.', 'textdomain' ) . '</p>';

            // 使用搜索框
            echo '<form method="get" action="' . home_url('/') . '" class="search-form">';
            echo '<label for="s">' . esc_attr__( 'Search:', 'textdomain' ) . '</label>';
            echo '<input type="search" name="s" id="s" placeholder="' . esc_attr__( 'Type here...' , 'textdomain') . '" value="' . isset($_GET['s']) ? $_GET['s'] : '' . '" />';
            echo '<button type="submit" class="search-submit">' . esc_html__( 'Search', 'textdomain' ) . '</button>';
            echo '</form>';
        } else {
            wp_redirect(home_url('/error-page/'));
            exit;
        }
    }
}
add_action('template_redirect','custom_404_page');

步骤2:配置自动重定向

接下来,我们需要配置WordPress以在404错误时自动重定向到我们的自定义页面。这可以通过修改WordPress的主配置文件wp-config.php来完成。

  • 找到以下行:
define('WP_HOME', 'http://example.com/');
define('WP_SITEURL', 'http://example.com/');
  • 将这两个定义替换为指向您的网站根目录的绝对路径:
define('WP_HOME', '//your-site-url.com/');
define('WP_SITEURL', '//your-site-url.com/');

例如,如果您的网站地址是 www.example.com,则应改为:

define('WP_HOME', 'https://www.example.com/');
define('WP_SITEURL', 'https://www.example.com/');

步骤3:测试您的设置

保存更改后,再次访问404错误页面,您应该会看到新的404页面而不是常规的404页面了。同时,当尝试访问不存在的页面时,它应该会被自动重定向到您指定的自定义页面。

通过以上步骤,您可以在WordPress中轻松地设置和管理404错误页面及其自动重定向功能,从而提供更好的用户体验。

黑板前的Bug语法讲师

黑板前的Bug语法讲师

在WordPress中实现404页面追踪和重定向功能是一项既简单又实用的任务。下面我将提供一个详细的步骤来指导您完成这个过程。

步骤1: 安装和设置404错误处理插件

首先,需要安装并启用一个404错误处理插件,以确保您的网站能够正确地处理404错误。推荐使用“WP Error 404”插件,因为它可以自动检测和显示404错误页面,同时提供各种选项来定制404错误提示。

示例代码:

<!-- wp-content/themes/your-theme/inc/error-404.php -->
<div class="error-404">
    <h2>Error 404 - Page Not Found</h2>
    <p>Sorry, but the page you're looking for doesn't exist.</p>
</div>

步骤2: 使用HTTP Status Code 404

在您的主题文件夹下创建或修改一个名为functions.php的文件(如果还没有的话),然后添加以下代码:

function redirect_404() {
    if (isset($_SERVER['HTTP_REFERER'])) {
        header("Location: " . $_SERVER['HTTP_REFERER']);
        exit;
    }
}
add_action('template_redirect', 'redirect_404');

这段代码会在用户访问不存在的页面时立即跳转到默认的404页面。

步骤3: 跟踪并管理404页面

接下来,在您的主题文件夹下的functions.php文件中添加以下代码:

// 获取当前URL
$current_url = home_url();

// 创建404页面链接
$404_page_link = get_home_url() . '/404';

// 如果当前URL与404页面不匹配,则生成404页面
if ($current_url != $404_page_link) {
    add_action('wp_head', function () use ($current_url, $404_page_link) {
        echo '<link rel="canonical" href="' . $404_page_link . '" />';
    });
}

// 检查是否需要显示404页面
if (!is_front_page()) {
    $content = '';
    // 添加自定义内容
    if ($_GET && !empty($_GET['page_id'])) {
        $content .= "<div class='404-page'>";
        $post = get_post($_GET['page_id']);
        $content .= '<a href="' . esc_url(get_permalink($post->ID)) . '">' . $post->post_title . '</a>';
        $content .= "</div>";
    } else {
        $content .= "<div class='404-page'>Page not found</div>";
    }

    // 将404内容插入到相应的位置
    if (isset($_GET['pagenotfound']) || isset($_GET['page_not_found'])) {
        $content = apply_filters('the_content', $content);
    }

    // 输出404内容
    echo do_shortcode('[shortcode_here]' . $content);
}

这段代码的主要目的是检查当前URL是否为404页面,如果是,则输出自定义的404页面内容。此外,它还会根据不同的情况添加一个链接到404页面,这有助于搜索引擎更好地理解404问题。

步骤4: 配置404页面样式

最后一步是配置404页面的样式。您可以创建一个CSS类或自定义标签来覆盖现有的404页面布局。

总结

通过上述步骤,您已经成功地在WordPress中实现了404页面追踪和重定向的功能。这个解决方案不仅简洁易用,而且可以根据您的需求进行个性化调整。希望这个教程对您有所帮助!