回应: Django / WSGI和PHP如何共享Apache?
你好,
你可以请张贴完整的configuration文件/网站可用
我有一个问题,似乎重写引擎redirect到Django的所有请求,所以静态和PHP文件不服务,而是我看到的Django的404页面。 如果我摆脱重写规则,然后静态文件和PHP的作品。
这里是我的Apacheconfiguration文件/网站可用
<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( '/家庭/用户/ .virtualenvs / url.com / lib中/ python2.6的/站点包')
import操作系统,系统
path ='/ home / www / django'如果path不在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()
导入posixpath def应用程序(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)
磁盘上的文档根目录(/ 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已closures,这意味着RewriteRule指令被禁止:”