如何在Drupal模块中抛出404错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Drupal模块中抛出404错误?相关的知识,希望对你有一定的参考价值。

我需要在模块中抛出404错误。或者可能是否有可能为菜单挂钩设置所需的选项?

答案

这很容易。这些应该处理看门狗,HTTP 404响应代码和其他相关的事情。

对于Drupal 6和7

在模块的页面回调中,执行:return drupal_not_found();

对于Drupal 8

class::method()定义中提到的_controller(即页面回调或负责为请求生成输出的方法)中,执行:throw new NotFoundHttpException();

参考

另一答案

对于Drupal 8

use SymfonyComponentHttpKernelExceptionNotFoundHttpException;
// then
throw new NotFoundHttpException();
另一答案

应该在页面回调函数中返回MENU_NOT_FOUND

想要报告“找不到页面”消息的页面回调函数应该返回MENU_NOT_FOUND,而不是调用drupal_not_found()。 - http://api.drupal.org/api/drupal/includes!common.inc/function/drupal_not_found/7

另一答案

查看drupal_add_http_header()函数以使用HTTP标头属性。还要确保将其粘贴在模块代码的顶部,以确保它首先执行。此外,您可能会发现这很有帮助。 https://www.drupal.org/project/generate_errors

以上是关于如何在Drupal模块中抛出404错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 java servlet 中抛出 404 错误?

获取请求在Angular 5 app中抛出404错误

如何编写一个期望在 Jasmine 中抛出“错误”的测试?

如何追溯python3.7中抛出的错误?

自定义管理命令在虚拟环境中抛出未找到模块错误

afterAll ReferenceError 中抛出错误:未定义模块,nodejs 中的 Karma/Jasmine 测试错误