首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Drupal7中以编程方式抛出404错误而不渲染2次?

在Drupal 7中,可以通过编程方式抛出404错误而不渲染两次页面。以下是实现这一目标的步骤:

  1. 创建自定义模块:首先,创建一个自定义模块。可以命名为"custom_404"或其他合适的名称。
  2. 实现hook_menu():在自定义模块的.module文件中,实现hook_menu()函数。这将用于定义自定义的URL路径和回调函数。
代码语言:txt
复制
function custom_404_menu() {
  $items['custom-404'] = array(
    'page callback' => 'custom_404_page_callback',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
  );

  return $items;
}
  1. 实现回调函数custom_404_page_callback():在自定义模块的.module文件中,实现回调函数custom_404_page_callback()。该函数将负责抛出404错误。
代码语言:txt
复制
function custom_404_page_callback() {
  drupal_not_found();
  drupal_exit();
}
  1. 修改.htaccess文件:为了确保在抛出404错误时不会触发Drupal的页面渲染流程,需要在Drupal的.htaccess文件中添加以下规则:
代码语言:txt
复制
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^custom-404$ index.php?q=custom-404 [L,QSA]

以上规则将重写URL路径,使之指向自定义的回调函数而不经过Drupal的页面渲染流程。

这样,当访问"custom-404"路径时,将直接抛出404错误,而不会触发Drupal的页面渲染过程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券