2010-03-25 3 views
0
"404" (controller: 'error', action: 'pageNotFound') 

Toute modification apportée à response.status dans l'action pageNotFound est rétablie à 404 avant l'envoi de la réponse au client. Est-il possible de contourner ce problème? Je voudrais pouvoir le changer en 410 quand je détecterai que la ressource a été supprimée ou 301 quand elle est déplacée de façon permanente.Grails: Mappage aux codes de réponse, impossible de modifier le code d'état http

+0

J'ai aussi essayé de créer un « après » filtre, mais le code d'état est rétabli après l'exécution du filtre. – Kimble

Répondre

0

Si qui ne fonctionne pas essayer cela dans votre contrôleur d'erreur:

class ErrorController { 

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

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

En fait, j'ai fini par le faire de cette façon, mais je suis un peu inquiet qu'il pourrait confondre Google parce qu'il va renvoyer une redirection temporaire 302 sur la page d'origine, et que le 410. – Kimble

0

Essayez le réglage l'en-tête vous manuellement par response.setHeader()

Questions connexes