0
注意:這個問題與'Add a prefix to all Flask routes'不同,因爲我試圖在apache級別解決這個問題。另外,對於燒瓶路線的建議修復無效!設置wsgi作爲apache中的別名路徑時的問題
繼this post之後,我試圖設置apache默認提供PHP文件,但是將給定的別名(即/flaskapp
)指向wsgi路徑。 wsgi文件依次將請求路由到python flask應用程序。
下面是我想(下000-default.conf
)Apache的配置:
<VirtualHost *:80>
ServerName localhost
ServerAdmin [email protected]
Alias//var/www/html/
<Directory "/var/www/html">
Order Deny,Allow
Allow from all
Require all granted
</Directory>
WSGIScriptAlias /flaskapp "/var/www/flaskapp/deploy.wsgi"
<Directory /var/www/flaskapp>
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
做service apache2 restart
後,我發現,在404錯誤請求http://myip/flaskapp
結果。其他一切正常。
事情我試過到目前爲止:
- 雙重檢查所有文件和文件夾路徑
- (未發現問題)使用上面的代碼WSGI部分成立WSGI應用程序作爲獨立的虛擬主機(正常工作)
- 添加
app.config['APPLICATION_ROOT'] = '/flaskapp'
我app.py文件,作爲建議的問題「Add a prefix to all Flask routes」(沒有任何效果)
我在哪裏可以出錯了?
請勿使用別名/。這完全覆蓋了mod_wsgi。使用DocumentRoot指令來指定主站點文件的位置。這樣mod_wsgi可以覆蓋子URL。 –
是的,你是正確的,而不是重複聲稱相同的問題。這裏的人們通常不瞭解微妙之處,只是做出假設。 –
謝謝@GrahamDumpleton - 添加DocumentRoot解決了這個問題。隨意寫這個答案,或者我今晚可以這樣做...... – user2761030