Назад | Перейти на главную страницу

Re: Как Django / WSGI и PHP могут делиться / на Apache?

в ответ на: Как Django / WSGI и PHP могут делиться / на Apache?

Привет,

не могли бы вы опубликовать полный файл конфигурации с / sites-available

У меня проблема, похоже, механизм перезаписи перенаправляет все запросы на django, поэтому статические и php файлы не обслуживаются, и вместо этого я вижу страницу django 404. Если я избавлюсь от правила перезаписи, статические файлы и php будут работать.

вот мой файл конфигурации apache из / sites-available

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/www/django
    <Directory />
            Options +FollowSymLinks ExecCGI Indexes
            AllowOverride None
            DirectoryIndex index.php
            AddHandler wsgi-script .wsgi


    </Directory>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /mysite.wsgi/$1 [QSA,PT,L]

~

и мой файл .wsgi:

сайт импорта

site.addsitedir ('/ home / user / .virtualenvs / url.com / lib / python2.6 / site-packages')

import os, sys

path = '/ home / www / django', если путь не в sys.path: sys.path.append (путь)

os.environ ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

sys.path.append (путь + '/ mysite') импорт django.core.handlers.wsgi

_application = django.core.handlers.wsgi.WSGIHandler ()

импортировать приложение posixpath def (среда, start_response):

# Wrapper to set SCRIPT_NAME to actual mount point.
environ['SCRIPT_NAME'] = posixpath.dirname(environ['SCRIPT_NAME'])
if environ['SCRIPT_NAME'] == '/':
    environ['SCRIPT_NAME'] = ''
return _application(environ, start_response)

корневой каталог документов на диске (/ home / www / django) содержит файлы php, изображения и файл mysite.wsgi .. спасибо за вашу помощь

догадаться

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/webdev/domains/handtrackers.com/django

    <Directory /home/www/django>

            #Options +FollowSymLinks +SymLinksIfOwnerMatch ExecCGI Indexes
            AllowOverride None
            AddHandler cgi-script .cgi
            AddHandler application/x-httpd-php .php
            AddHandler wsgi-script .wsgi

            Order allow,deny
            Allow from all

            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /mysite.wsgi/$1 [QSA,PT,L]

    </Directory>

но указание любого параметра, например закомментированного ... приведет к:

«Параметры FollowSymLinks или SymLinksIfOwnerMatch отключены, что означает, что директива RewriteRule запрещена:»