Redirect Drupal 7一些不存在的URL没有重定向到404?

Redirect Drupal 7一些不存在的URL没有重定向到404?,redirect,drupal,drupal-path-aliases,Redirect,Drupal,Drupal Path Aliases,在Drupal7中,一些(不存在的)URL没有重定向到404或它应该重定向到的任何错误页面。相反,它仍然显示其顶部父文件夹。例如: www.mywebsite.com/items/aaaaaaaaaaaaaa www.mywebsite.com/items/bbbbbbbbbbbb 我在上面列出的/items/下的每个错误URL都会显示其父页面: www.mywebsite.com/items而不是重定向到404 如果没有真正的页面,我不希望它的父级显示为 但奇怪的是,并不是每种模式都会发生

在Drupal7中,一些(不存在的)URL没有重定向到404或它应该重定向到的任何错误页面。相反,它仍然显示其顶部父文件夹。例如:

  • www.mywebsite.com/items/aaaaaaaaaaaaaa
  • www.mywebsite.com/items/bbbbbbbbbbbb
我在上面列出的
/items/
下的每个错误URL都会显示其父页面:
www.mywebsite.com/items
而不是重定向到404
如果没有真正的页面,我不希望它的父级显示为

但奇怪的是,并不是每种模式都会发生这种情况。我是说,另一个不同的父母喜欢:

  • www.mywebsite.com/users/aaaaaaaaaaaaaa
  • www.mywebsite.com/users/bbbbb
对于在此
/users/
父路径下键入的错误url,它将正确重定向到404页面


请问是什么?

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

这是因为您的/contributed/core模块是如何钩住Drupal菜单系统的

如果某个菜单项(特定的菜单项。请考虑像“admin/config/development/performance”这样的路径)中没有“%”符号,则将执行菜单回调函数。 例如,如果模块注册“items”路径example.com/items path将不是404,则将触发菜单项的相应菜单回调函数。如果给定,该回调函数可以使用更多的URL部分(example.com/items/123)

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

如果模块注册“items/%”,则example.com/items将触发404。换句话说,第二个URL部分是执行菜单回调函数所必需的

如果您面临的问题与自定义模块有关,请确保注册路由器项目的正确版本。如果需要第二个URL部分,请注册items/%。
您可以通过调用来执行404。

您可以将drupal安装配置为重定向到您创建的specefic 404页面

进入
www.yoursite.com/admin/config/system/site information
并进入404页面

您正在使用该路径(
/items
)吗

以下是视图的一个问题:)

您可以创建一个上下文过滤器来防止这种情况

梅林霍夫斯:

如果不希望出现这种行为,请将Global:NULL参数添加到视图中,并使用该设置验证该参数是否为空


对于Drupal6,该模块可能会有所帮助。

看看这个,非常有用

我认为这对4lvin不起作用。错误页面对他有效,但不是对所有页面都有效。来自Views 404页面的这条注释帮助了我:404s对于视图,也可以通过在参数下设置Global:Null来完成。