问题描述
要将 URL 用作 http://myUrl:13001/myAppName
,请在 grails-app/conf/application.yml
文件中指定以下内容。
environments:
production:
grails:
serverURL: http://myUrl:13001/myAppName
在 grails 4.0.11 中运行
./gradlew -Dgrails.env=prod bootRun
命令已执行。
当我在浏览器地址栏中输入 http://myUrl:13001/myAppName
进行登录时,
http://myUrl:13001/myAppName/
的登录画面正常显示。
但是,由于这是第一次登录,点击注册链接后,地址栏中正确显示了http://myUrl:13001/myAppName/register/index
。
在注册界面完成输入并按回车后,
它仅显示为 http://myUrl:13001//
,并且
显示 HTTP 状态 404 - 未找到。
另外,我制作了一个war文件并尝试在用Docker制作的Tomcat中运行它,但显示相同的错误。
如果您告诉我除此之外还有其他设置要添加,我将不胜感激
解决方法
我误会了一会儿,问了一个问题。
为了学习 grails 4,我从 github.com 下载了 grails4-spring-security-login-example 项目。
grails-app/views/login/auth.gsp
中的登录表单如下。
<form class="form-signin" action="${postUrl ?: '/login/authenticate'}" method="POST" id="loginForm" autocomplete="off">
'/login/authenticate'
部分是硬编码的。测试没有问题,但是我需要将URL设置为http://myUrl:8086/myAppName
才能运行Tomcat。
现在我已将 '/login/authenticate'
部分修改为 '/myAppName/login/authenticate'
并且它运行正常。
不幸的是,我现在决定这样使用它。 我很想听听一些关于是否有更好的方法的建议。
感谢您的关注。