[英]Apache virtual hosts on subdirectories
我正在嘗試設置 Apache 以通過子目錄在一個 IP 地址上提供多個應用程序。 比方說,我想通過 http://aaa.bbb.ccc.ddd/app1 訪問 App1,通過http://aaa.bbb.ccc.ddd/app2訪問App2。 App1 和 App2 都是獨立的 django 項目。 我確保這兩個應用程序在 Apache 上只提供其中一個應用程序運行良好。
我在 Apache 的 httpd.conf 文件中添加了以下行:
# App1
<VirtualHost *:80>
DocumentRoot "D:/Projects/App1/App1"
ServerName App1
<Directory "D:/Projects/App1/App1">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias /app1 "D:/Projects/App1/App1/wsgi.py"
</VirtualHost>
# App2
<VirtualHost *:80>
DocumentRoot "D:/Projects/App2/App2"
ServerName App2
<Directory "D:/Projects/App2/App2">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIScriptAlias /app2 "D:/Projects/App2/App2/wsgi.py"
</VirtualHost>
像這樣工作會導致出現“禁止訪問,您無權訪問此資源”的錯誤。 當我從另一台機器撥打http://aaa.bbb.ccc.ddd/app2時。 與此類似,如果我將App2虛擬主機放在App1虛擬主機前面,我就無法訪問http://aaa.bbb.ccc.ddd/app1了。 因此,可以訪問的是 App1 或 App2,但絕不會同時訪問它們。
第一個問題:我是否有可能通過子 URL 向網頁提供服務? 如果沒有,還有什么選擇? 為不同的應用程序使用不同的端口? 如果這是一種“有效”的方法,為什么我只能訪問一個應用程序而不是兩個應用程序。
VirtualHost指令的目的是根據請求的主機提供不同的應用程序。 要基於目錄解析應用程序,您可以使用Alias指令而不是 VirtualHost。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.