UrlMapping to static files in Grails
The simplest way is to tell grails to ignore them in UrlMappings.groovy
:
class UrlMappings {
static excludes = ['/robots.txt', '/sitemap.xml']
static mappings = {
// normal mappings here ...
}
}
I use this mapping for robots.txt
:
"/robots.txt" (view: "/robots")
And then have a grails-app/views/robots.gsp
that contains the content for robots.txt
. This way I can use <g:if env="...">
to easily have different content for different environments.
In order for this to work for a ".xml" extension, you need to change the Content Negotiation config.
grails.mime.file.extensions = false // disables the parsing of file extensions from URLs into the request format