Grails:映射到响应代码,无法更改http状态代码

时间:2010-03-25 21:02:54

标签: grails

"404" (controller: 'error', action: 'pageNotFound')

在将响应发送到客户端之前,对pageNotFound操作内的response.status的任何更改都将恢复为404。有可能以某种方式解决这个问题吗?我希望能够在检测到资源被删除时将其更改为410,或者在永久移动资源时将其更改为301。

2 个答案:

答案 0 :(得分:0)

如果这不起作用,请在错误控制器中尝试:

class ErrorController {

    def notFound = {
        redirect( action: 'gone')
      }

    def gone= {
        response.sendError(410, "Gone")
    }
}

答案 1 :(得分:0)

尝试通过response.setHeader()

手动设置标题