Apache VirtualHost 不起作用

Apache VirtualHost 不起作用

我正在尝试仅在域 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?

相关内容