mod_wsgi的书签上的意外行为提交或相关的数据库行动

[更新下文]

我有一个有点问题Apache的部署与mod_wsgi的一些JavaScript的书签功能的网站; 阿尔法网站并可用在这里:stemhub.org。 的问题是,书签(这是一个浏览器的菜单按钮)提交给一个页状

http://stemhub.org/submit/http://the-users-link.com/here

然后返回一种形式来保存元数据的链接。 视图函数(瓶/ WERKZEUG应用程序)检查数据库,查看该链接已经被添加,然后用任何已存在的或新分配的链路ID,我想可能会引发某种形式的计时问题返回的形式。 很奇怪的是,当我第一次提交的链接,我得到的http://stemhub.org/submit/http://the-users-link.com/here有“未找到”Apache的错误页面,但如果我再刷新页面,我得到的形式如预期。 错误日志中包含的信息有关线程的异常,但他们的网站时,perfoms预期了。

还有就是应用程序的另一个端口并行部署 - stemhub.org:5000 - 这是对龙卷风运行和正常工作,以及当地的开发版本。

这里有小书签上的机会,他们是问题:

工作端口5000 version: javascript:(function(){window.open('http://stemhub.org:5000/submit/'+encodeURIComponent(window.location.href),'height=200,width=150')}())

问题80端口 version: javascript:(function(){window.open('http://stemhub.org/submit/'+encodeURIComponent(window.location.href),'height=200,width=150')}())

更新:由于某种原因属于另一个标签更改JavaScript方法encodeURIComponentencodeURI使一切工作按预期,至少在FF和铬。 将格雷厄姆邓普尔顿的关于但是未来的东西更明智的这一建议。

--------------解决方案-------------

无论你的问题是,你把第二个网址URL中的方式不会与Apache的工作。 这是因为Apache就会崩溃重复斜线成一个单一的斜线和单斜杠是那么所有被Apache托管的应用程序将在PATH_INFO看到。

换句话说,不是mod_wsgi的问题,如果使用其他动态Web应用程序托管在Apache的,甚至非Python中的人结合的机制可能发生。

顺便说一句,有些人可能会指出,未经修改的URL是REQUEST_URI,但依靠这不一定是一个好主意,因为工作如何拆分和其映射对SCRIPT_NAME和PATH_INFO不一定是直接的,具体取决于是否重写规则适用于Apache的。

建议你,而不是调查的第二个URL是一个查询字符串的一部分,而不是URL路径。

分类:阿帕奇 时间:2015-03-15 人气:2
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.197 (s). 10 q(s)