pylons url_for 不会产生适当的内部静态。 SCRIPT_NAME 未插入已解析的 URL 中

发布于 2024-11-19 21:35:07 字数 960 浏览 2 评论 0原文

我使用 mod_wsgi 将 pylons 应用程序集成到 apache web 服务器中。 wsgi 的配置如下:

WSGIScriptAlias /mtrace /var/lib/lgmtrace/lgmtrace.wsgi

但是,在 mako 模板中使用 h.url_for 不会为静态内部路由产生正确的 url,如 http://pylonsbook.com/en/1.1/urls-routing-and-dispatch.html#internal-static-routes。我检查了 pylons 的 BaseController 中的环境变量,并且 SCRIPT_NAME 已正确设置为 /mtrace。

因此,我决定研究一下routes包中的url_for函数的代码。事实证明,从未为从 request_config 返回的 config 变量设置 environ 属性。因此,调用 config.environ.get('SCRIPT_NAME') 的代码从未被执行。

我想知道是否有人可以在这个问题上帮助我,因为我已经在这个问题上停留了很长一段时间了。有人面临同样的情况吗?如何修复它以便正确解析 URL。我在 google 和 stackoverflow 上找不到我的问题的任何结果,所以我想这一定是某种配置错误导致了这种情况。供您参考,我使用 Fedora 14 为 mod_wsgi (3.2.2)、apache 服务器 (2.2.17)、pylons (1.0)、routes (1.12) 提供的所有默认包。

谢谢。

I integrate pylons applications into apache webserver using mod_wsgi. The configuration for wsgi is as such:

WSGIScriptAlias /mtrace /var/lib/lgmtrace/lgmtrace.wsgi

However, using h.url_for within the mako template doesn't yield proper url for static internal route as described in http://pylonsbook.com/en/1.1/urls-routing-and-dispatch.html#internal-static-routes. I've checked the environment variable in the BaseController of pylons and SCRIPT_NAME has been properly set to /mtrace.

So, I decided to look into the code of url_for function within the routes package. As it turns out, environ attribute was never set for config variables returned from request_config. As a result, the code that calls for config.environ.get('SCRIPT_NAME') was never executed.

I wonder if anyone can help me on this matter because I'm stucked on this problem for quite some time already. Has anyone faces the same situation? How to fix it so that the URL can be resolved correctly. I couldn't find any results for my problem on google and stackoverflow, so I guess it must be some sort of configuration error that leads to this situation. For your information, I use all the default packages provided by Fedora 14 for mod_wsgi (3.2.2), apache server (2.2.17), pylons (1.0), routes (1.12).

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

霊感 2024-11-26 21:35:07

有人建议我尝试Route-1.12.3看看问题是否解决。使用该版本并未解决。哎呀,通过手动在 mako 模板中的 url 前面添加 request['SCRIPT_NAME'] 来解决这个问题。我想知道是否有人对这个问题有正确的答案。

Someone suggested me to try Route-1.12.3 to see if the problem is resolved. It wasn't resolved using that version. Heck, work around this problem by prepending request['SCRIPT_NAME'] to the url in the mako template manually. I would like to know if anyone has the proper answer to this question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文