Trac标志问题

3

我在我的debian系统上安装了trac(v 0.11.7)。除了无法显示标志之外,一切正常。我使用mod-wsgi,并将项目部署到名为“deploy”的文件夹中。在deploy文件夹内,我有一个名为htdocs的文件夹,其中包含两个子文件夹:common和site。我更改了trac.ini中的[header_logo],使其读取

src=site/logo.jpg
width=200
height=100

当logo.jpg存储在网站文件夹下时,它不会显示。当我将src更改为common/trac_logo_mini.png时,它就会显示出来。然后我将我的logo.jpg移动到common子文件夹并将src更改为common/logo.jpg。但仍无法显示。

如果我在浏览器中使用

https://192.168.1.10/myproject/chrome/common/trac_logo_mini.png

当我将trac_logo_mini.png复制成mylogo.png并使用时,浏览器将显示图片。

https://192.168.1.10/myproject/chrome/common/mylogo.png

浏览器无法显示mylogo.png。

我想知道为什么。

这是我的设置。 我执行了trac-admin myproject/env deploy myproject/deploy。 标志位于myproject/deploy/site文件夹中。

在default-ssl文件中,我有:

WSGIScriptAlias /myproject /trac_pool/myproject/deploy/cgi-bin/trac.wsgi
<Directory /trac_pool/myproject/deploy>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

<Location "/myproject">
    AuthType Basic
    AuthName "My Project Trac"
    AuthUserFile /trac_pool/myproject/trac.htpasswd
    Require valid-user
</Location>'
4个回答

3

以下是我的服务器设置,希望能帮助解决你的问题。

trac.ini:

[header_logo]
src = site/mylogo.gif

文件系统:

/srv/trac$ ls -1F
  attachments/
  conf/
  db/
  deploy/
  htdocs/
  log/
  plugins/
  README
  templates/
  VERSION
/srv/trac$ ls -1F htdocs/
  mylogo.gif
  index.html@
  print.css
  site_custom.js
  style.css

基本上,在trac.ini中使用“site/”前缀相当于将它映射到Trac文件夹层次结构中的“htdocs”文件夹。

2

我也遇到了关于我的trac标志的问题。原来文件权限设置导致用户www-data无法读取标志文件。通过chmod +r <logofile>修复,问题解决了。


0
你尝试过将logo的src设置为src=/logo.jpg吗?
当我查看trac的管理部分时,我发现我的logo已经设置为根目录,而当我查看我的trac安装时,我发现logo位于htdocs的根目录下。

enter image description here


我刚试了一下,但是没有成功。我检查了标志的URL,它是:https://192.168.1.10/logo.jpg - Unplug
那个URL对于我的trac安装来说是相同的。你是否安装了类似Firebug这样的工具或者有访问http日志的权限,以便查看当浏览器请求该URL时,Web服务器返回的响应代码类型。这通常有助于确定问题是文件未找到还是访问被拒绝等。如果您能获取到这些信息,请告诉我您发现了什么。 - Josh Laase
它显示“无法加载资源:服务器响应状态为404(未找到)。” URL为
https://my.domain.name/MyProjectTrac/chrome/site/logo.jpg
- Unplug
你的 logo.jpg 文件路径是什么?它的路径是否与你的 Web 服务器根目录匹配?根据你之前说的,网页中的 URL 是 192.168.1.10/logo,与 404 错误不匹配。基于 404 错误,我会假设该文件位于类似于 <Web 服务器根目录>/MyProjectTrac/chrome/site/logo.jpg 的位置。 - Josh Laase
此时,我需要尝试不同的URL来定位Trac网站中的图像,并不断移动文件,直到找到正确的目录。这就是我们在自己的端上让它工作的方式。很抱歉我无法为您提供解决方案。 - Josh Laase
显示剩余3条评论

0

非常好的答案。将您的标志放置在htdocs文件夹中,并按照以下方式配置您的trac.ini头部标志部分。网站重定向到htdocs文件夹,mylogo.gif是图像。

[header_logo]

src = site/mylogo.gif


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接