problème CSS / Apache étrange
-
23-08-2019 - |
Question
J'ai essayé d'installer Reviewboard et tous les regards comme il est allé bien, en autant que je peux accéder au site et la fonctionnalité
Cependant, je ne bizarrerie où la feuille de style semble être appliqué pour une raison quelconque.
Je pense qu'il peut être un problème d'autorisations sur un dossier qu'il ne peut pas accéder ou d'une erreur de configuration Apache, je l'ai fait.
Y at-il la configuration Apache qui aurait pu causer cela?
Quelqu'un at-il connu des problèmes similaires, non seulement pour Reviewboard?
Plus d'info: On dirait que Apache reçoit la demande de la feuille de style
- [20 / mai / 2009: 10: 00: 35 +0100] "GET /reviewboard/media/rb/css/common.css?1242747706 HTTP / 1.1" 404 2512
-
[20 / mai / 2009: 10: 00: 35 +0100] "GET /reviewboard/media/rb/css/ie_hacks.css?1242747706 HTTP / 1.1" 404 2514
-
[20 / mai / 2009: 10: 00: 36 +0100] "GET /reviewboard/media/rb/js/csshover2.htc?1242747706 HTTP / 1.1" 404 2514
- [20 / mai / 2009: 10: 00: 36 +0100] "GET /reviewboard/media/rb/js/pngfix.htc?1242747706 HTTP / 1.1" 404 2511
EDIT: En regardant l'accès enregistre l'EEG pour le CSS est en fait 404-ment comme le chemin doit être Reviewboard / htdocs / media / rb / css / * (bien qu'il y ait un alias dans le http.conf que je supposais traité ce.
EDIT: Le fichier .htaccess contient
<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:
Les sections httpd.conf ressemble à ceci
<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>
La solution
L'URL de directives et d'alias Lieu ne peut pas être relatif et a besoin d'une barre oblique. Ainsi, vous devriez utiliser « / Reviewboard /.......'.
FWIW, la directive PythonInterpreter ne sert pas à ce que votre commentaire contre il semble indiquer que vous pensez.
# Used to run multiple mod_python sites in the same apache
PythonInterpreter reviewboard_reviewboard
L'application est toujours exécutée dans une même instance Apache. Qu'est-ce que PythonInterpreter fait est vous permet de contrôler quel interpréteur Python sous dans chaque processus enfant du serveur Apache il fonctionne. Il est en fait redondant dans votre cas, le même interprète sous est par défaut utilisé pour toutes les applications mod_python hébergé sous le même VirtualHost. Notez qu'il y aura encore plusieurs instances de l'application, dans chacun des processus enfants du serveur Apache.
Autres conseils
Vous pouvez faire un lien symbolique dans Reviewboard appelé « médias » qui pointe à htdocs / médias peut-être.
Vous pouvez également:
- déplacer htdocs / médias ..
- ou allez dans le code Reviewboard et modifier le code de production url
- ou si vous avez mod_rewrite installé, vous pouvez rediriger les requêtes vers le bon endroit