【发布时间】:2014-06-12 14:36:12
【问题描述】:
这与我发现的其他 Trac 静态资源问题类似(this SO question 很好地包含),但这似乎不是同一个问题。
我对具有其他 Trac 项目的服务器具有部分(非 root)访问权限,并且能够创建自己的 Trac 站点。服务器有以下软件版本:
- Python 2.7
- Trac 1.0
- mod_python 3.3.1
所以我已经创建并使用了该网站几个星期,但我无法显示徽标或网站图标。我还有另一个 Trac 项目访问,并确保我没有遗漏任何明显的东西,我比较了两个项目的 trac.ini 文件。相关部分的设置非常相似,例如:
[header_logo]
src = site/my_logo.png
[project]
icon = site/favicon.ico
它们都位于各自的 Trac 环境的 htdocs 文件夹中:
/
opt/
trac/
trac_env_1/
htdocs/
my_logo.png
favicon.ico
trac_env_2/
htdocs/
my_logo.png
favicon.ico
但是,图片只出现在一个网站上,而不会出现在另一个网站上。在我的网站上,谷歌浏览器说:
GET https://{Intranet URL}/trac/{my_trac_env}/chrome/site/my_logo.png 404(未找到)
我尝试了以下方法,均不成功:
- 将 [header_logo] 内的宽度和高度设置为正确的尺寸
- 将与其他项目完全相同的图像复制到我的项目中
- 将
site/favicon.ico更改为/favicon.ico和/favicon.ico?(根据Trac wiki 的建议) - 在原地运行
trac-admin deploy .,将图像复制到 htdocs/common,并将 trac.ini 设置更改为common/my_logo.png - 将
site/my_logo.png更改为/images/my_logo.png并在我的 trac 环境中匹配该文件夹结构。 - 创建一个 htdocs/site/ 文件夹并将徽标添加到其中(我知道,这是其他人做错的,但我在这里撞墙了)。
我能想到的唯一事情是 Apache 设置,但据我所知,它应该处理它可以在 /opt/trac 中找到的任何 Trac 环境。在/etc/httpd/conf.d/trac.conf中,有:
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /opt/trac
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE /var/trac/egg-cache
</Location>
我认为,它使用 TracEnvParentDir 而不仅仅是 TracEnv 是重要的一点。
所以,我很茫然。请问,谁能帮帮我?
【问题讨论】:
标签: trac mod-python