Re: Como o Django / WSGI e o PHP podem compartilhar / no Apache?

1

em resposta a: Como o Django pode / WSGI e PHP compartilham / no Apache?

Olá,

você poderia por favor postar o arquivo de configuração completo de / sites-available

Estou tendo um problema parece reescrever mecanismo redireciona todas as solicitações para django, então arquivos estáticos e php não são servidos e em vez disso eu vejo a página do django 404. Se eu me livrar da regra de reescrita, então os arquivos estáticos e o php funcionarão.

aqui está o meu arquivo de configuração do apache de / 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]

~

e meu arquivo .wsgi:

import site

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

import os, sys

path = '/home/www/django' if path not in sys.path: sys.path.append(path)

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

sys.path.append(path + '/mysite') import django.core.handlers.wsgi

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

import posixpath def application(environ, 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)

o diretório raiz do documento no disco (/ home / www / django) contém arquivos php, imagens e o arquivo mysite.wsgi. obrigado pela vossa ajuda

    
por Bogdan 30.01.2011 / 00:37

1 resposta

2

descobri

<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>

mas a especificação de qualquer opção, como a comentada, resultará em:

"Opções FollowSymLinks ou SymLinksIfOwnerMatch é off que implica que a diretiva RewriteRule é proibida: "

    
por 31.01.2011 / 06:51