【问题标题】:NameVirtualHost has no effect and will be removed in the next releaseNameVirtualHost 没有效果,下个版本会移除
【发布时间】:2016-04-14 14:20:34
【问题描述】:

在我的服务器上重新启动 httpd 服务时遇到问题。

当我尝试service httpd restart 时,它会给我一个错误:

root@server1 [/usr/src]# service httpd restart
AH00548: NameVirtualHost has no effect and will be removed in the next release /usr/local/apache/conf/httpd.conf:455

我真的不明白当我尝试重新启动 httpd 服务时出现什么错误。

你能告诉我我必须做些什么来纠正这个问题吗?

PS 我需要在 httpd.conf 中正确设置设置,因为我需要重写规则才能正常工作,因为当我尝试使用 RewriteCond %{HTTP_HOST} ^google 时它不起作用,因为它不会做任何事情来掩盖我的域名域名。

【问题讨论】:

    标签: apache httpd.conf


    【解决方案1】:

    错误指示您查看 /usr/local/apache/conf/httpd.conf 中的第 455 行。该行可能以NameVirtualHost 开头,这不再是必需的。但这是一个警告,而不是错误。还请查看日志(您的配置似乎不标准;请在/var/log 中查看 httpd 日志)。

    【讨论】:

      【解决方案2】:

      作为其他答案的详细说明,请执行以下操作:

      1. 打开/usr/local/apache/conf/httpd.conf
      2. 通过添加#来评论下面的行或类似的行:

        NameVirtualHost 188.165.XX.XX:80

        <VirtualHost 188.165.XX.XX:80>

      3. 添加以下行:

        <VirtualHost *:80>

      (或简单地将 188.165.XX.XX:80 替换为 *:80)。保存httpd.conf并重启apache,service httpd restart

      【讨论】:

      • 我认为 -1 因为只有删除带有 NameVirtualHost 的行才是正确的,就像在接受的答案中一样。您可以在 apache 2.4 中使用 IP 和端口的虚拟主机。
      • 你可以,但重要的是要了解VirtualHost 的名称不是虚拟主机的名称,它是接受连接的接口的名称。所以在大多数情况下*:80 足够多且不易出错。实际名称进入ServerName 指令。
      猜你喜欢
      • 1970-01-01
      • 2011-11-02
      • 2014-01-02
      • 2013-10-17
      • 2012-03-18
      • 2017-04-24
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      相关资源
      最近更新 更多