我们有一个基于drupal的工作板,每隔几天通过自动导入更新工作列表,并在此过程中删除一些工作。
谷歌搜索控制台显示页面索引页面的错误 - 因为URL返回404状态。
我认为解决方案应该是在已删除内容的网址上返回410代码。
有没有人知道如何实现这个目标?
答案 0 :(得分:1)
最好的方法不是删除内容而只是取消发布内容,如果你的节点状态= 0,你可以添加标题410 您可以使用hook_boot来实现类似的功能,但这不是完美的方式:
function MYMODULENAME_boot(){
if(preg_match('#^\/node\/[0-9]+$#', request_uri())) {
list(, $nid) = explode('/', trim(request_uri(),'/'));
$registered = db_query('SELECT nid FROM node where nid = :nid', array(':nid' => $nid))->fetchField();
if(empty($registered) || !is_numeric($registered)){
drupal_add_http_header('Status', '410 Gone');
exit;
}
}
}