2012-09-04 40 views
3

在Drupal 7中,一些(不存在的)URL不会重定向到404或任何错误页面。相反,它仍然显示其顶级父文件夹。例如像:Drupal 7一些不存在的URL不重定向到404?

  • www.mywebsite.com/items/aaaaaaaaaaaaa
  • www.mywebsite.com/items/bbbbbbbbbbbbbbbbbb

/items/下每一个错误的URL我把像上面,被表示其父页:
www.mywebsite.com/items而不是重定向到404
我不想其父要显示如果没有真正页

但奇怪的是,它不会发生在每一个模式。我的意思是,另一种不同的父母喜欢:

  • www.mywebsite.com/users/aaaaaaaaaaaaa
  • www.mywebsite.com/users/bbbbbbbbbbbbbbbbb

对于错误的URL根据本键入的/users/父路径,它正确地重定向到404页面。

请问这是什么?

回答

3

如果我正确理解你的问题,那根本就不是问题。

那是因为你的/贡献/核心模块如何挂钩Drupal菜单系统。

如果菜单项(菜单项路由器是具体的。想想像“管理/配置/开发/性能”的路径)中有没有“%”的标志,菜单回调函数将被执行。 举一个例子,如果注册一个模块“项目”路径example.com/items路径不会是404,和菜单项目的相应菜单回调函数将被解雇。如果给出,该回调函数可以使用更多的URL部分(example.com/items/123)。

“节点”就是一个很好的例子。 (从技术上讲它们是不同的菜单路由器项目)。 Opening example.com/node不会触发404.

如果一个模块注册'items /%',那么example.com/items将激发404。换句话说,第二个URL部分是必需的为了执行菜单回调函数。

如果你正面临的问题与自定义模块,请确保您注册您的路由器项目的正确版本。如果需要第二个URL部分,请注册项目/%。 您可以致电drupal_not_found()执行404。

0

您可以配置Drupal安装到404页,您创建..

转到重定向到一个specefic到www.yoursite.com/admin/config/system/site-information,并输入你的404页面。

+0

我认为这不会对4lvin工作。错误页面适用于他,但不适用于所有页面。 – unor