【发布时间】:2011-06-21 03:07:00
【问题描述】:
我有一个 pylons 网络应用程序,它使用routes.url_for 生成指向控制器操作的链接,并使用webhelpers.html.tags 中定义的函数生成指向静态文件(CSS、javascript、图像等)的链接。当我的网络应用程序托管在服务器的根目录时,这工作正常(即,网络应用程序从“/”运行)。但是,如果我移动 web 应用程序,将其托管在不同的位置,例如“/foobar/”,url_for 链接可以完美运行,但webhelpers.html.tags 下的函数仍会生成指向“/path/to”的链接/resource' 而不是 '/foobar/path/to/resource'。
我的理解是 WSGI 定义了一个名为 SCRIPT_NAME 的环境变量,其中包含通向应用程序的路径(本例中为 /foobar)。我的猜测是url_for 正在关注这个环境变量并相应地更改它生成的 URL。
有没有办法让webhelpers 模块做同样的事情?
【问题讨论】: