I want to map the static files sitemap.xml and robots.txt which a located in my web-app directory. The urls should be as follows:
http://www.mydomain.com/sitemap.xml
http://www.mydomain.com/robots.txt
How do I have to set the url mapping to make these routes work?
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With