【问题标题】:Access Apache virtual hosts stored in /users directory访问存储在 /users 目录中的 Apache 虚拟主机
【发布时间】:2023-03-17 06:03:01
【问题描述】:

我刚刚将我的 Mac 升级到 Yosemite,并设法让我的开发环境几乎恢复正常。在我的旧设置(我没有创建)中,我将所有虚拟主机存储在 /etc/apache2/users 中作为单独的 .conf 文件。

我现在无法再访问这些站点,我需要在 httpd-vhosts.conf 文件的 /etc/apache2/extra 中设置我的虚拟主机。虽然它确实有效,但我宁愿不必这样做,因为当它们位于单独的文件中时,我更容易组织所有这些额外的网站。

有什么办法可以让它恢复到原来的设置吗?使用我的旧 httpd.conf 文件不起作用,我保留了 Yosemite 安装最初附带的新文件,因为至少它使我的开发环境正常运行。

我在/etc/apache2/users中设置的.conf文件的内容是这样的

<directory "/Users/dev/Sites/*/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    #Require all granted
</directory>

NameVirtualHost *:80

<virtualhost *:80>
    DocumentRoot "/Users/dev/Sites/mysitename"
    ServerName mysitename.dev
</virtualhost>

我能够通过将虚拟主机全部放入httpd-vhosts.conf 文件中来使它们正常工作。我只需要添加虚拟主机块并留下目录块和namevirtualhost *:80 行,因为它们已经在httpd-vhosts.conf 文件中。

【问题讨论】:

    标签: apache


    【解决方案1】:

    Apache 的配置文件 /etc/apache2/httpd.conf 可以包含单独的配置文件,以便通过 IncludeIncludeOptional 指令进行处理(不同之处在于,如果 Include 没有得到匹配的文件,它将失败并出现错误,但 @987654327 @ 会忽略它)

    你现在可以做的是,在你的 httpd.conf 的最底部添加这一行

    IncludeOptional users/*.conf
    

    并将您的单独配置 .conf 文件放在 /etc/apache2/users 目录中,以便将它们包含在主 httpd.conf 文件中

    【讨论】:

      猜你喜欢
      • 2014-06-18
      • 2012-01-27
      • 2021-04-30
      • 2014-07-08
      • 2015-12-03
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 2021-03-22
      相关资源
      最近更新 更多