仅作假设
testsite.com
这是我的 php 应用程序
testsite.com/project
是 Python 应用程序
我的 apache 站点配置文件中有以下设置/etc/apache2/sites-available/site.conf
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin [email protected]
DocumentRoot /var/www/html/test-project
<Directory /var/www/html/test-project/test-project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess test python-path=/var/www/html/test-project/test-project python-home=/var/www/html/test-project
WSGIProcessGroup test
WSGIScriptAlias / /var/www/html/test-project/test-project/wsgi.py
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
查看上述配置,我只希望任何 url 都能testsite.com/
从第一个虚拟主机(即我的 php 应用程序)获得服务并且它可以正常工作,并且每当只有这个特定的testsite.com/project
url 点击时,它就应该从第二个虚拟主机(即我的 python 应用程序)获得服务。
因此,为了testsite.com/project
从第二个虚拟主机获取此 URL,必须绕过第一个虚拟主机。请建议我该怎么做?我应该在第一个虚拟主机中做什么才能将其绕过到第二个虚拟主机。
注意:这与 URL 重写无关,因此请不要建议任何重写规则或与此相关的内容。
答案1
Virtualhost 始终与域名绑定。您不能有两个 VirtualHost 条目指向同一个域和不同的路径。
您需要将 PHP 和 Python 应用程序都移动到处理您的域的单个 VirtualHost。