[英]PHP and Django on same Apache server
我有一個正在與其他人共享的apache服務器。 其他人正在使用PHP,而我正在Django和Python3中使用。
我正在嘗試進行設置,以便對www.myweb.com的任何請求都可以訪問Apache和PHP站點。 但是任何與www.myweb.com/dj/有關的內容都將歸於django。 例如,www.myweb.com / dj / products應該由django處理,而www.myweb.com/products應該由PHP網站處理。
我已將其添加到我的apache2.conf中:
WSGIScriptAlias /dj/ /var/www/html/dj/tools/tools/wsgi.py
WSGIPythonPath /var/www/html/dj/tools
但是,只有www.myweb.com/dj被轉發到Django。 www.myweb.com/dj/products沒有轉發給Django,而是轉發給Apache,我得到了Apache的404。
我在urls.py中有url條目以與產品匹配:
url (r'^products$', 'app.baseproduct_view.baseproduct'),
url (r'^$', 'app.base_view.base'),
我在堆棧溢出時找到了匹配的帖子,並嘗試了WSGIScriptAliasMatch,但沒有運氣。
如果您有任何建議,請告訴我。 提前謝謝了。
您應該從/dj/
刪除尾部斜杠,將其變成文件路徑而不是目錄路徑
/
有很大的不同。 實際上,它使它成為目錄映射:
如果目標是目錄路徑 ,則URL 路徑以大小寫敏感(%解碼)的URL開頭的URL 將被映射到指示目錄中包含的腳本 。
但是,如果刪除結尾的/
:
如果目標是文件路徑 ,則URL 路徑以大小寫敏感(%解碼)的URL以URL-path開頭將被映射到file-path定義的腳本 。
一旦刪除了/
,所有路徑都會發送到wsgi.py
處理程序(因為它映射到文件而不是目錄),因此django的url機制可以開始工作。
如果保留/
,則Apache嘗試在目錄路徑中找到文件/dj/products
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.