无法让我的虚拟主机正常工作

无法让我的虚拟主机正常工作

我有指向服务器的 URL(example.com:8010),它可以正常工作并转到 /var/www 目录。我创建了另一个 vhost 文件以转到测试目录,但当我使用子域输入该 URL 时,它不起作用(test.example.com:8010),只有使用斜线输入它才有效(example.com:8010/test)。

编辑:我忘了提的是,当我转到 test.example.com:8010 它会转到默认的 /var/www 文件夹,而输入 text.example.com:8010/test 显然会转到测试文件夹。

以下是这两个条目的虚拟主机:

Example.com -

<VirtualHost *:80>
        ServerName example.com
        ServerAdmin [email protected]
        DocumentRoot /var/www
        <Directory /var/www/>
                AllowOverride All
                Order Deny,Allow
                Allow from All
        </Directory>
</VirtualHost>

<VirtualHost *:8010>
        ServerName example.com
        ServerAdmin [email protected]
        DocumentRoot /var/www
        <Directory /var/www/>
                AllowOverride All
                Order Deny,Allow
                Allow from All
        </Directory>
</VirtualHost>

Test.Example.com -

<VirtualHost *:80>
        ServerName test.example.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/test
        <Directory /var/www/test/>
                AllowOverride All
                Order Deny,Allow
                Allow from All
        </Directory>
</VirtualHost>

<VirtualHost *:8010>
        ServerName test.example.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/test
        <Directory /var/www/test/>
                AllowOverride All
                Order Deny,Allow
                Allow from All
        </Directory>
</VirtualHost>

我还应该提到,我为该测试目录设置了另一个 vhost,以便我可以在我的本地网络上输入 test.lacol 并且它会转到该目录,这样就可以了:

<VirtualHost *:80>
            ServerName test.lacol
            ServerAdmin [email protected]
            DocumentRoot /var/www/test
            <Directory /var/www/test/>
                    AllowOverride All
                    Order Deny,Allow
                    Allow from All
            </Directory>
    </VirtualHost>

    <VirtualHost *:8010>
            ServerName test.lacol
            ServerAdmin [email protected]
            DocumentRoot /var/www/test
            <Directory /var/www/test/>
                    AllowOverride All
                    Order Deny,Allow
                    Allow from All
            </Directory>
    </VirtualHost>

答案1

http://httpd.apache.org/docs/2.2/vhosts/examples.html

看起来你<VirtualHost> *:80>拼写错误了。应该是<VirtualHost *:80>

答案2

您是否已配置了 上的站点/etc/hosts?如果已配置,请查看您的php.ini并查找您的open_basedir配置。open_basedir, if set, limits all file operations to the defined directory and below

如果没有定义,请查看你的/var/log/apache2/error.log。也许它可以帮助你。

答案3

我必须启用该网站。

sudo a2ensite example.com

相关内容