我在Drupal中应用自定义404页面时遇到了困难。
首先我编写了自己的自定义404.html(在Drupal之外,所以它不是Drupal的一部分,也不是它的数据库!)并将其上传到我的FTP服务器。当我浏览到/ admin / config / system / site-information并插入这个新上传的404.html文件的路径时,它告诉我该文件不存在或者我没有查看它的权限。
我认为问题是我的自定义页面实际上并不是Drupal的一部分,因为我在Drupal之外自行上传和设计了它。但有人知道如何解决这个问题吗?
提前致谢!
答案 0 :(得分:3)
Drupal expects node
路径。如果您不想使用Drupal节点,则需要使用ErrorDocument指令在Apache配置(可能是.htaccess)中指定您的404页面。
答案 1 :(得分:1)
看看CustomError module。这将允许您使用HTML创建的错误页面。从项目页面:
此模块允许网站管理员为404创建自定义错误页面 (未找到)和403(访问被拒绝),无需创建节点 对于他们每个人。
由于错误页面不是真实节点,因此它们不属于 类别术语,它们不会在搜索中显示,也不会显示在 节点列表,或在热门内容块中。
答案 2 :(得分:0)
我同意 Karl ,Drupal期望节点路径,但不会覆盖Apache .htaccess的Drupal路径。单独留下.htaccess。
您应该创建新基本页(留空)和 html - node - (xxx).tpl.php 文件。 html.tpl.php和Drupal 7 template
这允许您使用自己的HTML布局和内容开发静态404页面。您不需要模块来执行此操作。
非常简单直接。 FTP 此模板文件到主题模板文件夹。使用 admin / config / system / site-information
中的模板将 404 设置为与新页面相同的节点<html>
<head>
<title>Page not found!</title>
</head>
<body>
File not found (404 error)
If you think what you're looking for should be here, please contact the site owner.
</body>
</html>