我尝试运行多个虚拟主机(?),例如:
http:/localhost 将指向一个项目,http:/newsite 将指向另一个项目,而 http:/myfavourite 将再次指向另一个项目的不同文档根目录。

(由于超链接发布限制,这里的每个 http://都是 http:/)

我在/etc/apache2.conf 中寻找编辑 apache 文件的位置没有成功。我在寻找 vhosts 文件吗?

任何建议都会很棒,谢谢。

最佳答案

这是一本电子书的一章,它解释了如何创建虚拟主机来精确地执行您想要的操作——并且示例使用的是 Ubuntu:Creating A Local Domain Using Apache Virtual Hosts

简单来说 :

  • 您首先需要创建 VirtualHost
  • 然后,您必须编辑您的主机文件(在 Linux 下,它是 /etc/hosts ),以便新的“伪域名”指向您的机器。

  • 对于 VirtualHost,使用 Ubuntu,您需要在 /etc/apache2/sites-available/ 中创建一个新文件;例如名为 your-site.com ;它将包含这样的内容:
    <VirtualHost *:80>
        ServerName your-site.com
        DocumentRoot /.../www/...
    
        <Directory /.../www/...>
            Options Indexes FollowSymLinks Includes
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    

    然后您注册此文件,以便 Apache 加载它,使用以下命令:
    sudo a2ensite your-site.com
    

    然后,重新加载 Apache :
    sudo /etc/init.d/apache2 reload
    

    然后,您必须编辑/etc/hosts 以添加如下一行:
    127.0.0.1       your-site.com
    

    所以“your-site.com”实际上指向您自己的计算机。

    重要的是用于在浏览器中访问您的网站的名称是在 hosts 文件中声明的名称;它也必须与 Apache 配置中的 ServerName 指令使用的相同。

    当您为一个 VirtualHost 完成此操作后...对于其他每个虚拟主机都一样:仅更改站点名称和 DocumentRoot。

    希望这可以帮助!

    关于apache - 在本地运行多个网站 Apache PHP Ubuntu,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1329303/

    10-14 16:09
    查看更多