按照此处的说明,我的网站可以正常显示内容。但是,处理表单提交是当前的一个问题。
我在我的环境中设置了虚拟主机。内容的呈现很好,但表单提交最终会出现在空白页面中。
我的表格在http://mysite.local/contact
我的虚拟主机是http://mysite.local匹配到http://localhost:8080/site
我的表格遵循开发者线索:
<@hst.actionURL var="actionUrl"/>
<form id="" class="form" action="${actionUrl}" method="post">
当我点击提交时,我被重定向到一个空白页面:http://localhost:8080/contact?r14_r1_r1:u_u_i_d=5641b2fe-10ad-41b2-8f30-06d8a59ff451
使用我的自定义组件,我打印出 serverName 并且它是“localhost”!
如何在控制台中配置它,以便我的服务器是“mysite.local”而不是“localhost”?
@Override
public void doBeforeRender(final HstRequest request,
final HstResponse response)
throws HstComponentException {
super.doBeforeRender(request, response);
l.info(request.getServerName());
}
更新:我已经按照 Joeren 的建议添加了节点。
但是它仍然无法正常工作。我删除了最初位于 hst:hosts >> dev-localhost 下的“localhost”节点,但它破坏了站点站点。
我注意到“hst:hosts”的 hst:defaulthostname 设置为“localhost”。我不敢做出改变,因为我想这将是不可逆转的。
更新:
我的虚拟主机配置(nginx)如下:
server {
# listen 80;
server_name mysite.local;
location /site/ {
proxy_pass http://localhost:8080/site/;
# include /etc/nginx/proxy_params;
}
location /cms/ {
proxy_pass http://localhost:8080/cms/;
# include /etc/nginx/proxy_params;
}
location / {
proxy_pass http://localhost:8080/site/;
# include /etc/nginx/proxy_params;
}
}