如何在 apache2 中添加应用程序上下文

如何在 apache2 中添加应用程序上下文

假设我有一个带有 ServerName 指令的虚拟主机,如下所示:

ServerName geekspeak.dev

在我的 hosts 文件中:

127.0.1.1 geekspeak.dev

现在,当我进入geekspeak.dev浏览器时,我会被引导至在本地主机上运行的应用程序。很简单。

但是,如果我不这样做geekspeak.dev,而是要求用户输入geekspeak.dev/foo才能访问我的应用程序,该怎么办?是否有 apache 指令或其他技术可以让我实现这一点?

谢谢!

编辑

我尝试按照 Shi 的建议添加一个空的DocumentRoot和一个Alias,但没有成功。我想知道它充当代理是否与此有关?我已将我的虚拟主机粘贴在下面,也许有人能看出它有什么问题。

<VirtualHost *:80>
  ServerName geekspeak.dev

  DocumentRoot /var/www/foo
  Alias /foo /var/www/foo

  ProxyPreserveHost On
  ProxyPass /excluded !
  ProxyPass / http://127.0.0.1:9000/
  ProxyPassReverse / http://127.0.0.1:9000/
</VirtualHost>

我期望它到达我的应用程序,/但它到达我的应用程序的时间是/foo

答案1

我的猜测是您DocumentRoot在虚拟主机内部使用了指向您的应用程序的功能。

对于应用程序的“插入式”安装,我建议您简单地使用一个空目录作为DocumentRoot,或者任何应该在那里可用的内容,然后使用Alias指向您的应用程序。

Alias /foo /var/www/web-application

相关内容