문제
나는 리뷰 보드를 설치하려고 노력했으며 모든 것이 사이트와 기능에 액세스 할 수있는만큼 잘 된 것처럼 보입니다.
그러나 어떤 이유로 든 스타일 시트가 적용되지 않는 이상한 점이 있습니다.
폴더에서 액세스 할 수없는 권한 문제 또는 Apache 설정 오류가 발생했을 수 있습니다.
이를 일으킬 수있는 Apache 구성이 있습니까?
리뷰 보드뿐만 아니라 비슷한 문제를 경험 한 사람이 있습니까?
추가 정보 : Apache가 스타일 시트 요청을받는 것처럼 보입니다.
- 20/5 월/2009 : 10 : 00 : 35 +0100] "get /reviewboard/media/rb/css/common.css?1242747706 http/1.1"404 2512
20/5 월/2009 : 10 : 00 : 35 +0100
20/5 월/2009 : 10 : 00 : 36 +0100
- 20/5 월/2009 : 10 : 00 : 36 +0100
편집 : 액세스 로그를 살펴보면 CSS의 Get은 실제로 404-ing입니다. 경로는 검토판/htdocs/media/rb/css/*입니다 (http.conf에는 별명이 있지만 내가 이것을 다루었다고 가정했습니다. .
편집 : .htaccess 파일에 포함되어 있습니다
<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>
편집하다:
httpd.conf 섹션은 다음과 같습니다
<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>
해결책
위치 및 별명 지시문의 URL은 상대적 일 수 없으며 선행 슬래시가 필요합니다. 따라서 '/reviewboard/.......'를 사용해야합니다.
FWIW, PythonInterpreter 지시문은 귀하의 의견에 대한 의견이 귀하가 생각하는 것으로 보이는 것에 대해 사용되지 않습니다.
# Used to run multiple mod_python sites in the same apache
PythonInterpreter reviewboard_reviewboard
응용 프로그램은 항상 동일한 Apache 인스턴스 내에서 실행됩니다. PythonInterpreter가하는 일은 실행되는 각 Apache Server Process 내의 Python 하위 통역사를 제어 할 수 있습니다. 동일한 하위 통역사가 기본적으로 동일한 가상 호스트 하에서 모든 mod_python 호스팅 애플리케이션에 사용되므로 실제로 중복됩니다. 각 Apache Server HILD 프로세스에 응용 프로그램의 여러 인스턴스가 여전히 있습니다.
다른 팁
htdocs/media를 가리키는 '미디어'라는 리뷰 보드에서 Symlink를 만들 수 있습니다.
대안으로 :
- htdocs/media를 ..
- 또는 리뷰 보드 코드로 이동하여 URL 생성 코드를 조정하십시오.
- 또는 mod_rewrite가 설치된 경우 요청을 올바른 장소로 리디렉션 할 수 있습니다.