在Apache中应用Diazo主题时“文档为空”错误

时间:2012-01-31 11:49:47

标签: apache diazo

我正在尝试设置Apache以应用Diazo主题,但似乎处理链在某个时刻停止,产生一个空文件,这会导致错误(仅当行 {时才会出现错误{1}} 出现在配置中,因此我确定它与应用主题相关。)

到目前为止,我已经应用了以下步骤:

首先,我使用diazocompile编译rules.xml以生成文件FilterChain THEME

然后,我更新了我的apache配置文件,如下所示:

/home/elmolino/buildout/src/djangolino-theme/theme.xsl

当我尝试访问我网站的主页时,浏览器中出现“未收到数据”错误

WSGIPythonHome /home/elmolino/buildout/env
LoadModule transform_module /usr/lib/apache2/modules/mod_transform.so
LoadModule filter_module /usr/lib/apache2/modules/mod_filter.so

<VirtualHost  *:80>
ServerName elmolino.usecm.com
ServerAdmin xxx@xxx.com

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !/wsgi/
RewriteCond %{REQUEST_FILENAME} !/site_media/
RewriteCond %{REQUEST_FILENAME} !/static/
RewriteRule ^(.*)$ /wsgi/django.wsgi/$1 [QSA,PT,L]

LogLevel info
ErrorLog  /home/elmolino/buildout/var/error_log
CustomLog /home/elmolino/buildout/var/access_log common

FilterDeclare THEME
FilterProvider THEME XSLT resp=Content-Type $text/html

TransformOptions +ApacheFS +HTML +HideParseErrors
TransformSet /home/elmolino/buildout/src/djangolino-theme/theme.xsl
# TransformCache /home/elmolino/buildout/src/djangolino-theme/theme.xsl /etc/apache2/theme.xsl

# Paths to el molino site
Alias /wsgi/ /home/elmolino/buildout/src/elmolino/apache/
<Directory /home/elmolino/buildout/src/elmolino/apache>
    Options ExecCGI
    SetHandler wsgi-script
    FilterChain THEME

    Order allow,deny
    Allow from all

    AuthType Basic
    AuthName "ElMolino FrontEnd"
    AuthUserFile /etc/apache2/authorization-users
    Require valid-user
</Directory>

# serve media files
Alias /site_media "/home/elmolino/buildout/var/media"

# serve static files
Alias /static "/home/elmolino/buildout/var/static"
</VirtualHost>

错误日志显示以下消息:

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

非常感谢帮助! 马腾

1 个答案:

答案 0 :(得分:0)

如果我使用TransformCache选项,它似乎工作。我会写下我改变的东西(这个解决方案是基于我目前的理解,它可能仍然不正确)。使用TransformCache时,第一个参数是缓存文件的名称(我怀疑它是否真的用作文件,因为没有创建具有此名称的文件),第二个参数是输入文件的名称。缓存文件的名称应该传递给TransformSet:

TransformOptions +ApacheFS +HTML +HideParseErrors
TransformSet /etc/apache2/elmolino.xsl
TransformCache /etc/apache2/elmolino.xsl /home/elmolino/buildout/src/djangolino-theme/theme.xsl