1

我想在我的机器上创建 VHost。

我的配置:

/etc/hosts

127.0.0.1 mysite.dev

/etc/apache2/sites-available/mysite.dev

<VirtualHost *:80>
    SetEnv APPLICATION_ENV "development"
    ServerName mysite.dev
    DocumentRoot /home/michal/Public/mysite/public/frontend

    <Directory /home/michal/Public/mysite/public/frontend>
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

我跑之后

sudo a2ensite mysite.dev
sudo /etc/init.d/apache2 restart

现在,当我在浏览器中键入 mysite.dev 时,我看到了标准的 Apache index.html(“它可以工作了!”)。为什么?我应该在哪里找到我的问题?

4

3 回答 3

0

好的,这是在一年前提出的,但今天我遇到了同样的问题,可能我找到的解决方案对其他人非常有帮助,所以就在这里。

对我有用的是重命名 /etc/apache2/sites-enabled 中的软链接,将扩展名 .conf 附加到该文件夹​​中的每个链接。

因此,如果我们有以下链接:

/etc/apache2/sites-enabled$ ls -l
lrwxrwxrwx 1 root root 23 Nov 30  2012 site1 -> ../sites-available/site1   
lrwxrwxrwx 1 root root 23 Nov 30  2012 site2 -> ../sites-available/site2

我们应该重命名为 site1.conf 和 site2.conf

/etc/apache2/sites-enabled$ sudo mv site1 site1.conf
/etc/apache2/sites-enabled$ sudo mv site2 site2.conf

然后当然,重新启动apache

/etc/apache2/sites-enabled$ sudo /etc/init.d/apache2 restart

这样做的原因是 Apache 在最近的某个时候改变了这些文件的命名方式,以便正确加载它们,如 apache2.conf 文件的最后几行所述。

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
于 2013-11-05T14:02:28.770 回答
0

从您的问题中不太清楚您想要实现的目标。如果您想转发到特定的 URL,比如 HTTPS URL,那么可以使用以下几行来实现:

  <VirtualHost *:80>
     ServerName localhost:80
     RedirectMatch permanent ^(.*)$ https://localhost:8443$1
</VirtualHost>

如果您尝试配置 apache 服务器、jboss 服务器和 mod_jk,那么您可以参考此链接

于 2012-08-27T13:10:39.683 回答
0

您看到的是默认 index.html 页面,因为您没有禁用 Apache 默认虚拟主机,请使用以下命令禁用默认 Apache 虚拟主机:

sudo a2dissite 000-default.conf

于 2021-12-19T22:05:51.597 回答