Apache 2.4 conf 中未显示虚拟主机

Apache 2.4 conf 中未显示虚拟主机

我在 Fedora Linux 上运行 Apache 2.4,目前我遇到了虚拟主机问题。

我认为 2.4 需要的配置与我更习惯的另一个版本 (2.2) 不同,但我对此不确定。然而问题如下,我有一个可以工作的 documentroot,但我的 documentroot 中有两个项目,我想在不同的虚拟上分别运行,因此我将这些行添加到 etc 中 conf 目录中的 httpd.conf 文件中:

<VirtualHost localhost:80>
        ServerAdmin [email protected]
        DocumentRoot "/home/me/workspace/project1/"
        ServerName localhost/project1
        ErrorLog "logs/project1.error.log"
        CustomLog "logs/project1.access.log" common
</VirtualHost>

<VirtualHost localhost:80>
        ServerAdmin [email protected]
        DocumentRoot "/home/me/workspace/project2/"
        ServerName localhost/project2
        ErrorLog "logs/project2.error.log"
        CustomLog "logs/project2.access.log" common
</VirtualHost>

我不知道为什么,但是服务器是从文档根目录运行的,当我输入例如:localhost / project2时,它会给我一个未找到错误(404)..错误日志没有任何内容,而访问日志仅报告404..

我可能遗漏了一些关键信息。有人能帮忙吗?

提前致谢

答案1

这不是一个正确的服务器名称:

ServerName localhost/project1

ServerName 必须是 IP 或域名,而不是路径

你可以这样做 :

<VirtualHost localhost:80>
        ServerAdmin [email protected]
        DocumentRoot "/home/me/workspace/"
        ServerName localhost
        ErrorLog "logs/project1.error.log"
        CustomLog "logs/project1.access.log" common
</VirtualHost>

就像这样,您将获得http://yourip/project1/& http://yourip/project2/。然后添加索引文件以/workspace重定向到您想要的任何位置

现在,如果你想要把事情做好,你可以为你的服务器使用 2 个 IP,并使用不同的 IP 访问每个项目:

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot "/home/me/workspace/project1/"
        ServerName 192.168.0.101
        ErrorLog "logs/project1.error.log"
        CustomLog "logs/project1.access.log" common
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot "/home/me/workspace/project2/"
        ServerName 192.168.0.102
        ErrorLog "logs/project2.error.log"
        CustomLog "logs/project2.access.log" common
</VirtualHost>

如果你可以使用 DNS,你可以用 DNS 名称替换 IP(即使使用本地 DNS)

相关内容