UrlMapping到Grails中的静态文件

con*_*ile 6 grails url-mapping grails-2.0

我想映射一个位于我的web-app目录中的静态文件sitemap.xml和robots.txt.网址应如下:

http://www.mydomain.com/sitemap.xml 
http://www.mydomain.com/robots.txt
Run Code Online (Sandbox Code Playgroud)

如何设置网址映射以使这些路由有效?

cod*_*ark 9

最简单的方法是告诉grails忽略它们UrlMappings.groovy:

class UrlMappings {
    static excludes = ['/robots.txt', '/sitemap.xml']

    static mappings = {
        // normal mappings here ...
    }
}
Run Code Online (Sandbox Code Playgroud)


doe*_*eri 8

我用这个映射robots.txt:

"/robots.txt" (view: "/robots")
Run Code Online (Sandbox Code Playgroud)

然后有一个grails-app/views/robots.gsp包含内容的robots.txt.通过这种方式,我可以<g:if env="...">轻松地为不同的环境提供不同的内容.

为了使其适用于".xml"扩展,您需要更改内容协商配置.

grails.mime.file.extensions = false // disables the parsing of file extensions from URLs into the request format
Run Code Online (Sandbox Code Playgroud)