我正在尝试仅在域 test.test.nl 上启用 phpmyadmin。而不是 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>
但这对我来说不起作用。我也可以访问 phpmyadminhttps://test2.nl/phpmyadmin我只希望它能够启用https://test.test.nl
我该怎么做呢?
汤姆
编辑:拼写错误;)
答案1
这不可能是您的整个配置。您在哪里定义 test2.nl 的虚拟主机?由于此代码段仅适用于 test.test.nl,我不得不假设您的配置中其他地方存在问题,导致 test2.nl 访问 /usr/share/phpmyadmin。当您安装 phpMyAdmin 时,安装程序是否可能在 conf.d 中创建了另一个配置文件,将 phpmyadmin 添加到所有 vhost?httpd.conf 中是否有另一个 phpmyadmin 的 Alias 指令?或者在其他配置文件中?
答案2
“apachectl -t -D DUMP_VHOSTS”的结果通常有助于解决此类虚拟主机问题。它与 apache 虚拟文档一起应该会有所帮助。
[http://httpd.apache.org/docs/2.2/vhosts/][1]
如果看完之后你仍然不知道该怎么做,你可以添加“apachectl -t -D DUMP_VHOSTS”和“apachectl -v”的输出,其中包含主机的 IP 地址吗?你可以进行搜索和替换,以隐藏实际的 IP 地址,但要确保其一致。
另外,您的主 httpd.conf 中的任何地方是否有 NameVirtualHost?