Apache 虚拟主机、别名和目录

Apache 虚拟主机、别名和目录

如果您在 上运行 Apache somewhere.net,并且您还有多个虚拟主机(a.somewhere.netb.somewhere.net),那么您可以在虚拟主机上访问主分支上的目录。

例如,假设我安装phpmyadminapache.conf。在包含文件后,我可以通过转到 来访问它somewhere.net/phpmyadmin。但是,我也可以通过转到a.somewhere.net/phpmyadmin或来访问它。我认为这与中的行b.somewhere.net/phpmyadmin有关,并且它适用于 上的所有虚拟主机。Alias /phpmyadmin /usr/share/phpmyadminphpmyadminapache.confApache

有没有办法让它只适用于默认网站,而不适用于任何子域?我可以让它a.something.net/phpmyadmin找不到吗phpmyadmin

答案1

移动该Alias指令(以及可能生成的配置的其他部分?)或Include将 phpmyadmin 配置引入到<VirtualHost>您希望它应用到的特定块中 - 这将导致它们仅适用于那些特定的虚拟主机而不是整个服务器。

答案2

从 conf 中删除别名。

ln -s /usr/share/phpmyadmin /$vHostDocRoot/phpmyadmin

这是最简单的方法....否则您可以尝试将Alias指令移入虚拟主机配置。

相关内容