CSS estranha / problema Apache
-
23-08-2019 - |
Pergunta
Eu tenho tentado instalar ReviewBoard e todos parece ter corrido bem, tanto quanto eu posso acessar o site e funcionalidade
No entanto, tenho estranheza onde nenhuma folha de estilo parece ser aplicado por algum motivo.
Eu suspeito que pode ser um problema de permissões em uma pasta que não pode acessar ou algum erro de configuração Apache que eu fiz.
Existe alguma configuração do Apache que poderia ter causado isso?
Alguém já teve problemas semelhantes não apenas para ReviewBoard?
Mais informações: Parece que Apache está a receber o pedido de Stylesheets
- [20 / Maio / 2009: 10: 00: 35 +0100] "GET /reviewboard/media/rb/css/common.css?1242747706 HTTP / 1.1" 404 2512
-
[20 / Maio / 2009: 10: 00: 35 +0100] "GET /reviewboard/media/rb/css/ie_hacks.css?1242747706 HTTP / 1.1" 404 2514
-
[20 / Maio / 2009: 10: 00: 36 +0100] "GET /reviewboard/media/rb/js/csshover2.htc?1242747706 HTTP / 1.1" 404 2514
- [20 / Maio / 2009: 10: 00: 36 +0100] "GET /reviewboard/media/rb/js/pngfix.htc?1242747706 HTTP / 1.1" 404 2511
EDIT: Olhando para o acesso registra o GET para o CSS é realmente 404-ing como o caminho deve ser ReviewBoard / htdocs / media / rb / css / * (embora haja um alias na http.conf que assumi lidado com isso.
EDIT: O arquivo .htaccess contém
<IfModule mod_expires.c>
<FilesMatch "\.(jpg|gif|png|css|js|htc)">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</FilesMatch>
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
EDIT:
As secções httpd.conf olhares como este
<VirtualHost *:8080>
ServerName FASKALLYRB
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/reviewboard/htdocs"
# Error handlers
ErrorDocument 500 /errordocs/500.html
ErrorDocument 404 /errordocs/500.html
# Serve django pages
<Location "/">
PythonPath "['C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/reviewboard/conf'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings
SetEnv PYTHON_EGG_CACHE "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/reviewboard/tmp/egg_cache"
SetHandler mod_python
PythonHandler django.core.handlers.modpython
PythonAutoReload Off
PythonDebug Off
# Used to run multiple mod_python sites in the same apache
PythonInterpreter reviewboard_reviewboard
</Location>
# Serve static media without running it through mod_python
# (overrides the above)
<Location "reviewboard/media">
SetHandler None
</Location>
<Location "reviewboard/errordocs">
SetHandler None
</Location>
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/reviewboard/htdocs">
AllowOverride All
</Directory>
# Alias static media requests to filesystem
Alias reviewboard/media "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/reviewboard/htdocs/media"
Alias reviewboard/errordocs "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/reviewboard/htdocs/errordocs"
</VirtualHost>
Solução
A URL para localização e Alias ??directivas não pode ser relativo e precisa de uma barra inicial. Assim, você deve estar usando '/ ReviewBoard /.......'.
FWIW, a directiva PythonInterpreter não é usado para o que o seu comentário contra ela parece indicar que você acha que ele faz.
# Used to run multiple mod_python sites in the same apache
PythonInterpreter reviewboard_reviewboard
A aplicação é sempre executado dentro da mesma instância do Apache. O que PythonInterpreter faz é permitir que você controlar quais sub interpretador Python dentro de cada processo filho do servidor Apache é executado. Na verdade, é redundante no seu caso, como a mesma sub intérprete é por padrão usado para todos mod_python aplicações hospedadas no mesmo VirtualHost. Note-se que ainda haverá várias instâncias da aplicação, sobre em cada um dos processos filho do servidor Apache.
Outras dicas
Você pode fazer um link simbólico em ReviewBoard chamada 'media' que aponta para htdocs / media talvez.
Como alternativa:
- move htdocs / media para ..
- ou ir para o código ReviewBoard e ajustar o código de geração de url
- ou se você tem mod_rewrite instalado, você pode redirecionar solicitações para o lugar certo