📅  最后修改于: 2023-12-03 15:08:16.594000             🧑  作者: Mango
在 Drupal 中,当出现错误时,系统会输出一些错误信息。然而,这些错误信息通常只会显示在 Drupal 后台,而不是 Website 的错误页面上。在此,我们将介绍如何在 Website 遇到错误时显示 Drupal 错误页面。
要在 Website 上显示 Drupal 错误页面,首先需要确定网站配置是否启用了错误信息。打开 Drupal 后台,选择“配置 > 开发 > 日志记录”,确保“记录消息”和“记录警告”都设置为“全部”,并且“日志记录级别”设置为“调试”。
在 Drupal 的 .htaccess 文件中,可以配置哪些错误应该显示在 Website 上。默认情况下,.htaccess 文件中已经包含了这些配置,但是有时候你需要自己进行一下调整。
打开网站的根目录下的 .htaccess 文件,查找 “#ErrorDocument 404” 和 “ErrorDocument 403” 这两行代码。如果已经有了这两个设置,就跳到下一步。否则,添加以下代码:
ErrorDocument 404 /404
ErrorDocument 403 /403
这两行代码分别指定了当网站发生 404 错误和 403 错误时,应该返回的页面路径或 URL。在这种情况下,我们假设这两个页面分别位于根目录下的 404.html 和 403.html。
要创建 Drupal 错误页面,有两种方法可以选择:手动创建或使用模块。
为了手动创建 Drupal 错误页面,你需要复制一下你的 Drupal 主题文件夹下的 page.tpl.php 文件,并将它重命名为错误码的名称,例如 404.tpl.php 或 403.tpl.php。然后,在新的模板文件中,添加适当的 HTML 和错误信息代码。
以下是 404.tpl.php 文件的示例代码:
<?php
/**
* @file
* Front-end theme implementation to display a single Drupal page when
* an HTTP error occurs. (e.g. 404 page not found).
*
* Available variables:
* - $content: The main content of the template. Usually a message.
* - $title: The page title that was passed to drupal_set_title().
* - $messages: HTML for the messages to be displayed, such as a '404 Not Found'
* error message.
* - $page: The rendered page itself.
* - $base_path: The base URL path of the Drupal installation.
*
* @see bootstrap_process_page()
*/
?>
<div class="error-page">
<h1><?php print t('Page not found'); ?></h1>
<p><?php print t('The requested page could not be found.'); ?></p>
<p><?php print t('Please check the URL for errors and try again.'); ?></p>
</div>
你还可以使用一些可用的 Drupal 模块来创建 Drupal 错误页面。例如,CustomError 模块允许你创建自定义的错误页面,并显示出更有用的错误信息。
请注意,为了使用这一模块,你需要将模板文件从模块的 /templates 目录中复制到你主题的 templates 目录中,并对它进行一些修改。
完成了上述步骤后,现在应该可以测试网站是否正确显示错误页面了。试着访问一个不存在的页面,应该能够看到你的 Drupal 主题下定义的自定义 404 页面了。
如果你想通过 Drupal 错误页面显示网站错误信息,需要经过上述步骤:启用错误信息、修改 .htaccess 文件、创建 Drupal 错误页面与测试错误页面。通过这样的方式,你不仅可以让访问者获得更友好的页面提示,同时也更容易定位并解决异常问题。