MODX 将所有未找到的页面重定向到 404 状态代码。永远消失的页面需要设置 410。Google 网站管理员会不断检查具有 404 响应的抓取错误中不存在的页面。
在 MODX中设置 410.htaccess
仍会导致 404
RewriteEngine On
RewriteBase /
RewriteRule ^folder/ - [G,L]
如何在 MODX 中设置 410 代码?
MODX 将所有未找到的页面重定向到 404 状态代码。永远消失的页面需要设置 410。Google 网站管理员会不断检查具有 404 响应的抓取错误中不存在的页面。
在 MODX中设置 410.htaccess
仍会导致 404
RewriteEngine On
RewriteBase /
RewriteRule ^folder/ - [G,L]
如何在 MODX 中设置 410 代码?
看起来您应该能够使用 sendRedirect 方法:
但有趣的部分是:您将如何确定页面实际上是 410 还是合法的 404?您可能需要对 modx 如何处理 404 进行一些研究,并尝试在它在插件中发送之前捕获它。
此脚本检查请求的资源是否存在,如果存在则返回 410。如果资源不存在,则返回默认的 404。这对于之前发布并由 Google 索引的资源非常有用。
此脚本不检查已删除的资源。如果你想要这个,你需要编写一个代码来存储所有曾经存在的别名,并根据该列表检查任何 OnPageNotFound 请求。
创建一个名为set410的插件
检查系统事件OnPageNotFound
粘贴此代码:
<?php
$alias = basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); // Get last alias from url (preserve only the alias after last slash). Needed when using subfolders.
$resource = $modx->getObject('modResource', array('alias' => $alias));
if ($resource) {
$modx->sendForward(411, 'HTTP/1.1 410 Gone'); // ID found > 410
}
?>
记住: