5

我正在尝试禁用 Searchable 插件默认搜索页面(http://localhost/searchable/),但还没有找到方法。任何人都知道如何做到这一点,最好是以合法的方式,但在必要时诉诸诡计?

4

1 回答 1

4

我通常将错误代码处理程序重新路由到控制器,以便在渲染视图之前进行一些日志记录或其他操作。你也可以在这里使用它:

class UrlMappings {

   static mappings = {

      "/searchable/$action?"(controller: "errors", action: "urlMapping")

      "/$controller/$action?/$id?" { }

      "/"(view:"/index")

      "403"(controller: "errors", action: "accessDenied")
      "404"(controller: "errors", action: "notFound")
      "405"(controller: "errors", action: "notAllowed")
      "500"(view: '/error')
   }
}

ErrorsController 看起来像这样:

class ErrorsController {

   def accessDenied = {}

   def notFound = {
      log.debug "could not find $request.forwardURI"
   }

   def notAllowed = {}

   def urlMapping = {
      log.warn "unexpected call to URL-Mapped $request.forwardURI"
      render view: 'notFound'
   }
}

您需要在 grails-app/errors 中创建 accessDenied.gsp、notFound.gsp 和 notAllowed.gsp

通过将“隐藏”控制器发送到其自定义映射,您可以记录对其的意外访问,但仍会呈现 404 页面以隐藏其存在。

于 2010-07-03T03:52:56.613 回答