如何将 404 页面重定向到其他域

How to redirect 404 page to other domain

我将我的网站从 cms 更改为 WordPress。所以 URL 链接被更改了。 现在 google 将用户重定向到旧的 URL 链接。现在已经死了。所以网站returns 404页面。

访问者抱怨我的错误。 所以我想将出现 404 错误 URL 的用户重定向到另一个子域。

错误URL:网站。com/ABC/123

至 URL : old.website.com/ABC/123

我如何通过编辑 .htaccess 文件来做到这一点。 htaccess 文件中已经有一些数据。

我的 Htaccess 文件截图 https://imgur.com/9KyYLoa

htaccess 文件需要做哪些更改才能仅将 404 URL 重定向到我的子域。

我有数百个链接,所以我无法通过重定向插件手动添加。

检查该页面是否是 404 错误页面,如果是错误页面则重定向到您的子域。 Wordpress 有一个名为 is_404() 的函数,用于检查 404 错误页面。对于重定向,它有一个名为 wp_redirect('redirect url') 的函数。要重定向到与其他域名相同的 URL,您可以使用 PHP 的 $_SERVER['REQUEST_URI'] 函数来获取 URL(在您的情况下,这将 return /ABC/123)

所以你的代码应该是:

if (is_404()) { 
    wp_redirect('http://old.website.com' . $_SERVER['REQUEST_URI']);
    exit;
}

将此代码添加到 header.php 或您的主题的 index.php 文件中,否则您也可以将其挂接到自定义插件的 header 中。


Java 脚本方法

将此代码添加到相同位置而不是之前的代码(在 header.php 中的 head 标记结束之前)

<?php
if (is_404()) {
    ?>
        <script>
           window.location = "http://old.website.com"+window.location.pathname;
        </script>
    <?php
   exit;
  }
?>
<?php

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://old.website.com{$_SERVER['REQUEST_URI']}"); 

exit();

?>

只需将此添加到您的 404.php