【发布时间】:2016-09-10 01:59:18
【问题描述】:
我已经开发 grails 应用程序几年了,最近在将应用程序部署到 tomcat6 时遇到了一个奇怪的问题。我可以访问登录页面。我可以登录并获得身份验证。但是,当被重定向到我的索引页面时,我得到一个 404 /myapp/ 资源不可用。
有趣的是,我可以导航到应用程序中的其他页面并执行我需要的任何操作,但是当导航回主页时,它会返回 404 not found。
我搜索了已部署的视图目录,并且 index.gsp 存在于它应该在的位置。我的 spock 测试没有失败。我不知所措。两年多来,我没有修改我的家庭控制器或索引页面本身。我错过了什么?
我正在使用 grails 2.1.1 和 tomcat6
更新:
这是我的 UrlMappings.groovy:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?" {
constraints {
// apply constraints here
}
}
"/"(controller: "home",action:"index")
//(view: "/index")
// special mapping for jqgrid errors
"500"(controller: "errors", action: "validation", exception: ValidationException)
//"500"(controller: "errors")
"500"(view: '/error')
//"/searchable"(view:"/searchable/index")
/*name homeView: "/bullMaster" {
controller = "bullMaster"
action = "index"
}
*/
}
}
而我的 HomeController 是真正的基本控制器:
class HomeController {
def index = {
render(view:"index")
}
def termsAndConditions ={
render(view:"termsAndConditions")
}
}
我通常通过以下方式导航到应用程序:
http://ipAddress:8080/appName/
【问题讨论】:
-
一个疯狂的镜头,但有没有可能,你删除了
Urlmappings.groovy中的某些内容? -
您是否通过反向代理访问您的页面?尝试直接访问该页面(8080 或 8443)以仔细检查您的主页不只是未能呈现。我想要么页面抛出错误,要么你的反向代理有问题。
-
我添加了我的 UrlMappings 和 Home Controller 只是为了提供更多参考