html表单路径:如何修复相对起点?

时间:2017-05-24 20:51:57

标签: php html apache nginx

这似乎有不同的行为,这取决于驱动器疯狂的浏览器。

在我的服务器上,我将nginx转发到apache docker容器。

location /foo {
        proxy_pass http://172.17.0.2/;
}

在apache容器上,我有" /var/www/html/index.html"具有以下形式。

<form action="act.php?action=add_item" method="post" ...

我有相应的&#34; /var/www/html/act.php"。

在某些浏览器上,当我访问&#34; http://.../foo/&#34;并且提交正确。但在其他方面,它不起作用,我必须像这样修改,

<form action="foo/act.php?action=add_item" method="post" ...

即,我必须附上&#34; foo /&#34;。我不知道为什么,有没有办法解决这个问题?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

解决方案是改变

<form action="act.php?action=add_item" method="post" ...

<form action="/foo/act.php?action=add_item" method="post" ...

这是因为该页面是通过/foo访问的,因此如果您尝试查看/act.php您将无法胜任,因为您正在路由/代理/重写{{1}能够看到它。所以正确的路径绝对是/foo