如果您在 上运行 Apache somewhere.net
,并且您还有多个虚拟主机(a.somewhere.net
,b.somewhere.net
),那么您可以在虚拟主机上访问主分支上的目录。
例如,假设我安装phpmyadminapache.conf
。在包含文件后,我可以通过转到 来访问它somewhere.net/phpmyadmin
。但是,我也可以通过转到a.somewhere.net/phpmyadmin
或来访问它。我认为这与中的行b.somewhere.net/phpmyadmin
有关,并且它适用于 上的所有虚拟主机。Alias /phpmyadmin /usr/share/phpmyadmin
phpmyadmin
apache.conf
Apache
有没有办法让它只适用于默认网站,而不适用于任何子域?我可以让它a.something.net/phpmyadmin
找不到吗phpmyadmin
?
答案1
移动该Alias
指令(以及可能生成的配置的其他部分?)或Include
将 phpmyadmin 配置引入到<VirtualHost>
您希望它应用到的特定块中 - 这将导致它们仅适用于那些特定的虚拟主机而不是整个服务器。
答案2
从 conf 中删除别名。
ln -s /usr/share/phpmyadmin /$vHostDocRoot/phpmyadmin
这是最简单的方法....否则您可以尝试将Alias
指令移入虚拟主机配置。