MODX将所有未找到的页面重定向到404状态代码。永远消失的页面需要设置为410. Google网站管理员会不断检查抓取错误中的非现有页面,并回复404。
在.htaccess
中设置410仍会导致MODX为404
RewriteEngine On
RewriteBase /
RewriteRule ^folder/ - [G,L]
如何在MODX中设置410代码?
答案 0 :(得分:0)
看起来您应该能够使用sendRedirect方法:
但有趣的是:你如何确定一个页面实际上是410还是合法的404?您可能需要对modx如何处理404&尝试在它插入插件之前捕获它。
答案 1 :(得分:0)
此脚本检查所请求的资源是否存在,如果存在,则返回410.如果该资源不存在,则返回默认值404.这对于以前发布并由Google编制索引的资源非常方便。 / p>
此脚本不会检查已删除的资源。如果你想要这个,你需要编写一个代码来存储所有存在的别名,并检查任何针对该列表的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
}
?>
记住: