Ошибка «Документ пуст» при применении темы Diazo в Apache - PullRequest
0 голосов
/ 31 января 2012

Я пытаюсь настроить Apache для применения темы Diazo, но кажется, что цепочка обработки в какой-то момент останавливается, создавая пустой файл, что приводит к ошибке (ошибка появляется только в том случае, если строка FilterChain THEME появляется в конфигурации, поэтому я уверен, что это связано с применением темы).

До сих пор я применил следующие шаги:

Сначала я собрал свойrules.xml с diazocompile для создания файла /home/elmolino/buildout/src/djangolino-theme/theme.xsl.

Затем я обновил свой файл конфигурации apache, чтобы он выглядел следующим образом:

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.

В журнале ошибок отображаются следующие сообщения:

info [client 213.97.51.211] mod_wsgi (pid=32415, process='', application='elmolino.usecm.com|/wsgi/django.wsgi'): Loading WSGI script '/home/elmolino/buildout/src/elmolino/apache/django.wsgi'.
error [client 213.97.51.211] mod_transform::libxml2_error: /home/elmolino/buildout/src/djangolino-theme/theme.xsl:1: 
error [client 213.97.51.211] mod_transform::libxml2_error: parser 
error [client 213.97.51.211] mod_transform::libxml2_error: error : 
error [client 213.97.51.211] mod_transform::libxml2_error: Document is empty\n
error [client 213.97.51.211] mod_transform::libxml2_error: \n
error [client 213.97.51.211] mod_transform::libxml2_error: ^\n
error [client 213.97.51.211] mod_transform::libxml2_error: /home/elmolino/buildout/src/djangolino-theme/theme.xsl:1: 
error [client 213.97.51.211] mod_transform::libxml2_error: parser 
error [client 213.97.51.211] mod_transform::libxml2_error: error : 
error [client 213.97.51.211] mod_transform::libxml2_error: Start tag expected, '<' not found\n
error [client 213.97.51.211] mod_transform::libxml2_error: \n
error [client 213.97.51.211] mod_transform::libxml2_error: ^\n
error [client 213.97.51.211] mod_transform: XSLT: Loading of the XSLT File has failed

Помощь действительно приветствуется!Маартен

1 Ответ

0 голосов
/ 01 февраля 2012

Если я использую опцию 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
...