在本地开发多语言站点时,通过XAMPP配置多端口可以让不同端口对应不同语言版本的站点,方便调试和测试。这种方式不需要频繁修改站点语言配置,直接通过访问不同端口即可切换语言版本。

配置前准备
首先需要确认XAMPP已经正常安装并且Apache服务可以正常启动,同时准备好不同语言版本的站点文件,分别放在不同的目录中,比如中文站点放在D:/xampp/htdocs/zh,英文站点放在D:/xampp/htdocs/en。
第一步:修改Apache监听端口
Apache默认只监听80端口,要支持多端口需要先修改监听配置。打开XAMPP安装目录下的apache/conf/httpd.conf文件,找到Listen 80配置项,在下方添加需要新增的端口,比如添加8080端口用于英文站点。
修改后的监听配置如下:
# 原有默认监听端口 Listen 80 # 新增的英文站点监听端口 Listen 8080
修改完成后保存文件,注意不要修改其他原有配置项,避免影响Apache正常启动。
第二步:配置虚拟主机绑定端口和站点目录
接下来需要配置虚拟主机,将不同的端口和对应的语言站点目录绑定。打开apache/conf/extra/httpd-vhosts.conf文件,添加两个虚拟主机配置,分别对应80端口的中文站点和8080端口的英文站点。
虚拟主机配置示例如下:
# 中文站点虚拟主机配置,绑定80端口
<VirtualHost *:80>
# 站点根目录,对应中文站点文件
DocumentRoot "D:/xampp/htdocs/zh"
# 站点域名,本地可以用localhost
ServerName localhost
# 目录权限配置
<Directory "D:/xampp/htdocs/zh">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# 英文站点虚拟主机配置,绑定8080端口
<VirtualHost *:8080>
# 站点根目录,对应英文站点文件
DocumentRoot "D:/xampp/htdocs/en"
# 站点域名,本地可以用localhost
ServerName localhost
# 目录权限配置
<Directory "D:/xampp/htdocs/en">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
配置中DocumentRoot需要替换为实际的站点目录路径,路径中的斜杠要使用正斜杠,避免Windows路径反斜杠导致配置错误。
第三步:重启Apache服务验证配置
完成上述配置后,打开XAMPP控制面板,先停止Apache服务,再重新启动。如果启动过程中没有出现错误提示,说明配置生效。
此时可以在浏览器中分别访问http://localhost和http://localhost:8080,如果分别显示中文站点和英文站点的内容,就说明多端口多语言切换配置成功。
常见问题排查
- 如果Apache启动失败,检查
httpd.conf和httpd-vhosts.conf中是否有语法错误,比如标签没有闭合、路径写错等。 - 如果访问端口提示无法连接,检查端口是否被其他程序占用,可以在命令行使用
netstat -ano查看端口占用情况,更换未被占用的端口即可。 - 如果站点目录下的文件无法访问,检查
Directory配置中的权限是否正确,确保设置了Require all granted。
扩展:添加更多语言端口
如果需要支持更多语言,比如日文、韩文等,只需要重复上述步骤,新增对应的监听端口,再添加对应的虚拟主机配置即可。比如新增8081端口对应日文站点,只需要在httpd.conf添加Listen 8081,再在httpd-vhosts.conf添加绑定8081端口和日文站点目录的虚拟主机配置就可以了。