我在一台小型家用服务器上设置了 Apache2,并尝试通过它运行 Transmission。它运行得很好,但我遇到了一个问题,即我为 transmission vhost 设置的重定向也在主站点上运行。这将导致无法在主站点上托管任何其他 Web 应用程序。这是我的 http-vhosts.conf 文件,其中包含重定向:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName transmission.blah.fakedns.com
ServerAlias transmission.blah.fakedns.com
ProxyRequests Off
ProxyPass /transmission http://127.0.0.1:9091/transmission
ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
Redirect permanent / /transmission/web/
<Location /transmission>
Order Allow,Deny
Allow from All
</Location>
</VirtualHost>
我希望重定向仅在 transmission 子域下有效。目前,如果我访问 blah.fakedns.com/,我会被重定向到 blah.fakedns.com/transmission/web/,并且加载正常 - 但我不想这样。上面的 vhosts 文件有问题吗?
此外,带有 mod_proxy 的反向代理也应该只适用于子域,所以我遇到了同样的问题。
我知道我一直在使用术语“子域”来指代子子域,但是我已将其全部连接到 DynDNS 帐户,因此我只能添加新的子子域,这会是个问题吗?
提前感谢你的帮助!
答案1
您是否已为服务器名称“blah.fakedns.com”定义了虚拟主机?
如果您没有这样做,当 Apache 中任何地方未定义主机名时,Apache 就会将第一个加载的 vhost 作为“后备”vhost。
这是有道理的,因为如果你没有为你想要访问的应用程序定义其他虚拟主机,Apache 将为你提供它已加载的第一个虚拟主机(可能是关于 Transmission 的虚拟主机)
我希望这可以帮助你。