我有一个 Web 应用程序,可以直接作为http://host.foo.loc:8080/foo/访问,也可以通过安全反向代理作为http://www.company.com/apps/foo/ 访问
默认情况下,Grails 会生成带有相对路径的相对 URL,例如:
<g:form action="bar">
将产生:
<form action="/foo/bar" method="post" >
这在本地可以,但反向代理将不接受http://www.company.com/foo/bar(它缺少 /apps/)
如果我做:
<g:form action="bar" base=".">
没关系。但我真的不想在生成链接的每个标签上都指定它。
处理这个问题的最好方法是让 Grails 在其相对 URL 中生成相对路径。或者,我可以将全局“baseUrl”设置为“。” 但我也不知道该怎么做。
任何想法 ?
[编辑] 事实上,将“base”设置为“.” 不起作用。第一个页面“/foo/controller/action”将生成链接为“./controller/nextaction”,浏览器将其翻译为“/foo/controller/controller/action”=> 404。我想这就是他们的原因重新使用绝对路径:它们不是路径。