【问题标题】:Apache 2, ubuntu - VHost doesn't workApache 2,ubuntu - VHost 不起作用
【发布时间】:2012-08-21 20:53:42
【问题描述】:

我想在我的机器上创建 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(“它可以工作了!”)。为什么?我应该在哪里找到我的问题?

【问题讨论】:

  • 您在运行此命令 'sudo /etc/init.d/apache2 restart' 时是否看到任何错误/警告
  • 我只能看到“无法解析服务器名称,而是使用 127.0.1.1”。但是当我在 /etc/hosts 中输入 127.0.1.1 时,什么都没有发生。
  • 查看你的hosts文件中是否有任何127.0.1.1的条目将它们注释掉或删除它们。这发生在我身上一次,只是当我没有启用该站点或没有重新启动 apache 时。因此,在您的情况下,它可能会重新启动 apache,但在某些时候失败并且在某些时候在配置虚拟主机时中止。

标签: apache ubuntu-12.04 mod-vhost-alias


【解决方案1】:

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

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

如果你想配置 apache server , jboss server 和 mod_jk 那么你可以参考这个link

【讨论】:

  • 我不想重定向。我只尝试配置我的 VHost。但是当我调用我的虚拟主机地址时,apache 返回标准 index.html 响应。
【解决方案2】:

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

对我有用的是重命名 /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

【讨论】:

    【解决方案3】:

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

    sudo a2dissite 000-default.conf

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2015-08-03
    • 2017-11-02
    • 2016-12-15
    • 2020-10-10
    • 1970-01-01
    • 2014-02-22
    • 2017-04-01
    • 1970-01-01
    • 2015-03-07
    相关资源
    最近更新 更多