使用apache在子目录中运行flask网站

时间:2013-01-06 10:47:13

标签: python apache flask

我在我的个人服务器上使用apache,我正在尝试在Silex上运行使用www.mydomain.com/制作的“主要”网站,并使用Flask在{ {1}}

运行www.mydomain.com/something网站,我正在使用mod_wsgi,正如其官方网站(http://flask.pocoo.org/docs/deploying/mod_wsgi/)所述。

它工作正常,我可以Flask访问我的网站,但当我回到www.mydomain.com/something时,我收到www.mydomain.com/ 404错误消息。

我已经尝试检查有关虚拟主机的Flask文档,但我无法理解它,这是我当前的apache配置文件:

'sites-enabled/defaults'

我的<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> WSGIDaemonProcess bc user=bc group=bc threads=5 WSGIScriptAlias / /var/www/bc/bc.wsgi <Directory /var/www/bc> WSGIProcessGroup bc WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 目录如下所示:

/var/www

我怎样才能让python网站只在www.mydomain.com/something上运行,让PHP一个在www.mydomain.com/上运行?

1 个答案:

答案 0 :(得分:4)

WSGIScriptAlias的第一个参数是url path,通过指定WSGIScriptAlias / <foo>您告诉apache将所有请求发送到WSGI应用。试试WSGIScriptAlias /something <foo>