簡體   English   中英

同一Apache服務器上的PHP和Django

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM