使用 XAMPP 托管多个本地站点

2022-08-30 13:22:23

我是使用XAMPP的新手,所以这对某些人来说可能很简单。

我有一些php项目,我希望能够在本地调试并在浏览器中查看(不是并发的,但每次我想处理不同的项目时都不必更改配置文件/复制项目文件夹)。

在 IIS 上,您可以设置多个站点来从您的计算机提供服务,而我正在寻找 XAMPP 中类似的东西。使用 IIS 时,我向 Windows 主机文件添加了多条记录,以便可以通过键入友好的 Web 样式地址(如 http://myproject1.dev)

谢谢。


答案 1

格雷格,你快到了--你需要(就像摩西说的)来设置虚拟主机。

因此,如果您的Windows主机文件具有

127.0.0.1    localhost
127.0.0.1    mysite-dev.com
127.0.0.1    anothersite-dev.com

您的虚拟主机文件 (httpd-vhosts.conf) 可能如下所示:

<VirtualHost *:80>
  DocumentRoot C:/xampp/htdocs/
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>

    ServerName mysite-dev.com

    DocumentRoot "C:/sites/mysite-dev"

    <Directory "C:/sites/mysite-dev">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

<VirtualHost *:80>

    ServerName anothersite-dev.com

    DocumentRoot "C:/sites/anothersite-dev"

    <Directory "C:/sites/anothersite-dev">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

不要忘记在进行任何更改后重新启动 Web 服务器。


答案 2

我想补充一下最新信息。

默认情况下,XAMMP 使用端口 80,我们能够发布 1 个网站。我还将 IIS 用于 .Net 项目。在这方面,我将端口设置为 XAMMP,但 80 端口除外。所以我避免了冲突。

当我们想要发布多个网站时,我们应该对httpd.conf(这是当前名称)执行以下操作。

1. 设置端口

在 httpd.conf 文件中查找#Listen表达式。将 Listen 80 更改为 Listen 8000(或您想要的任何其他内容)

Listen 8000

如果您需要 3 个不同的网站,请键入其他网站,包括每行上的 1 个定义,如下所示。

Listen 8001
Listen 8002
Listen 8003

2. 定义通过端口访问的站点的文件路径

同样,在 httpd.conf 文件中查找。按如下所示标识每个网站的文件夹。如您所见,我在XAMP目录下的htdocs目录下创建了3个名为8000,8001,8002和8003的目录。

<VirtualHost *:8000>
 DocumentRoot "C:\XAMPP\htdocs\8000"
 ServerName localhost:8000
<\ VirtualHost>
<VirtualHost *:8001>
 DocumentRoot "C:\XAMPP\htdocs\8001"
 ServerName localhost:8001
<\ VirtualHost>
<VirtualHost *:8002>
 DocumentRoot "C:\XAMPP\htdocs\8002"
 ServerName localhost:8002
<\ VirtualHost>
<VirtualHost *:8003>
 DocumentRoot "C:\XAMPP\htdocs\8003"
 ServerName localhost:8003
<\ VirtualHost>

在 XAMMP 上重新启动 Apahche 服务器。您现在可以查看第三个站点,例如 http://localhost:8003http://192.168.1.1:8003/

希望有用。


推荐