gpt4 book ai didi

redirect - Drupal 7 一些不存在的 URL 不会重定向到 404?

转载 作者:行者123 更新时间:2023-12-02 09:14:09 25 4
gpt4 key购买 nike

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

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

我像上面那样放置的 /items/ 下的每个错误网址都显示其父页面:
www.mywebsite.com/items 而不是重定向到 404
我不希望显示其父级如果确实没有页面

但奇怪的是,它并没有发生在每个模式上。我的意思是,另一些不同的 parent 喜欢:

  • www.mywebsite.com/users/aaaaaaaaaaaaaa
  • www.mywebsite.com/users/bbbbbbbbbbbbbbbbbb

对于在 /users/ 父路径下输入的错误网址,它正确地重定向到 404 页面。

请问是什么?

最佳答案

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

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

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

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

如果模块注册了 'items/%' ,则 example.com/items 将触发 404。换句话说,需要第二个 URL 部分才能执行菜单回调函数。

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

关于redirect - Drupal 7 一些不存在的 URL 不会重定向到 404?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12267203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com