Apache VirtualHost不起作用

我正在尝试phpmyadmin只在域test.test.nl上启用。 而不是test2.nl。 我用下面的代码尝试这个:

<VirtualHost *:80> DocumentRoot /var/www/404 </VirtualHost> <VirtualHost *:443> ServerName test.test.nl DocumentRoot /var/www/404 Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks DirectoryIndex index.php # Authorize for setup <Files setup.php> <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </Files> </Directory> SSLEngine On SSLCertificateFile /var/www/certificates/server.pem </VirtualHost> 

但是这个工作不适合我。 我也可以通过https://test2.nl/phpmyadmin访问phpmyadmin。 我只希望它为https://test.test.nl启用

我该怎么做?

汤姆

编辑:错字;)

这不能是你的整个configuration。 你在哪里定义test2.nl的虚拟主机? 由于这段代码只适用于test.test.nl,所以我不得不假定你的configuration中有一个问题允许test2.nl访问/ usr / share / phpmyadmin。 当你安装phpMyAdmin时,有可能是安装程序在conf.d中创build了另一个configuration文件,该安装程序将phpmyadmin添加到所有虚拟主机上? httpd.conf中是否有另一个用于phpmyadmin的Alias指令? 或者在其他一些configuration文件?

“apachectl -t -D DUMP_VHOSTS”的结果通常有助于解决这类虚拟主机问题。 随着Apache虚拟文档应该帮助。

[ http://httpd.apache.org/docs/2.2/vhosts/%5D%5B1%5D

如果你看后仍然卡住,你可以添加输出“的apachectl-t -D DUMP_VHOSTS”和“apachectl -v”w /主机的IP地址? 你可以做一个search和replace来掩盖实际的IP地址,但要确保它是一致的。

另外,你的主httpd.conf中是否有NameVirtualHost?