我遇到了快速路线的奇怪行为。我想通过HTML-Form输入一个ID,并通过ajav(jquery)获取结果以显示该条目。一切正常,直到我必须将ID从数字扩展到字符串(用斜杠)。
我编辑了所有功能和电话。我用reg ex检查strign并想要用修改后的路由(express)获取请求。但问题来了。我得到它在Windows下工作但它在Linux上失败了。也许问题是由于基础设施引起的,因为node.js应用程序位于反向代理apache2后面,以便将服务隧道传送到公共(使用域和证书)。
什么都有。也许有人可以帮助我设置这个东西并使其运行。app.get(/^\/byId\/(.+)/, getSourceById);
在被调用的函数中没有使用req.params [0]。在测试服务器(Windows)上它甚至使用旧路径
app.get('/byId/:id', getSourceById);
因为html表单确实请求%2F而不是/。但是,两种方式都应该可以获取请求。但两者都不适合我。我错过了什么吗?
我感谢任何帮助!
答案 0 :(得分:0)
找到我的问题的答案。确实是反向代理阻止了请求。
模拟问题:http://www.gossamer-threads.com/lists/apache/users/314562
如何解决这个问题:
http://httpd.apache.org/docs/2.0/mod/core.html#allowencodedslashes
由于安全问题,默认禁止使用。如果您需要,请仔细使用。