如何在Ubuntu系统的Nginx环境中通过ISPConfig配置双域名指向同一根目录
嘿,这个需求在ISPConfig里其实挺容易搞定的,我给你两种常用方案,你可以根据自己的实际情况选:
方案一:使用域名别名(推荐,配置更简洁)
这种方式让第二个域名作为主域名的“别名”,会完全继承主域名的所有配置(包括根目录、SSL、PHP版本等),是最省心的做法:
- 登录ISPConfig控制面板,进入Sites模块,先确认你已经创建好第一个域名(比如
domain1.com),并且它的根目录已经设置为/var/www/clients/client0/web6/web。 - 在Sites页面,点击Add new website旁边的下拉箭头,选择Add alias domain。
- 填写别名域名信息:
- 在Domain字段输入你的第二个域名(比如
domain2.com),如果需要支持www.domain2.com,可以直接在这里输入,或者后续添加子域名别名。 - 在Parent website下拉框里,选择你已经创建好的主域名(
domain1.com)。 - 其他配置项(比如SSL、PHP设置)会自动继承主域名的配置,除非你有特殊需求,否则保持默认即可。
- 在Domain字段输入你的第二个域名(比如
- 点击Save保存,ISPConfig会自动生成对应的Nginx配置,等待30秒左右配置生效后,两个域名就能访问同一个根目录的内容了。
方案二:创建独立网站指向同一目录(适合需要不同配置的场景)
如果你的两个域名需要不同的配置(比如不同的SSL证书、不同的重定向规则),可以用这种方式:
- 先在ISPConfig的Sites模块创建第一个域名(
domain1.com),设置其根目录为/var/www/clients/client0/web6/web,完成配置后保存。 - 再次点击Add new website,创建第二个域名(
domain2.com):- 在Domain字段输入第二个域名。
- 找到Document Root字段,手动输入目标根目录路径:
/var/www/clients/client0/web6/web,确保和第一个域名的路径完全一致。 - 根据需求单独配置这个域名的SSL、PHP版本、重定向规则等,这些设置不会影响主域名。
- 点击Save保存,ISPConfig会为这个域名生成独立的Nginx配置,但指向同一个根目录,生效后两个域名就能访问相同内容。
关键注意事项
- 确保两个域名的DNS记录都已经正确指向你的服务器公网IP,否则即使配置正确,域名也无法访问。
- 如果需要HTTPS访问:
- 用方案一的话,在主域名的SSL配置页面,把别名域名也添加到Domains for certificate列表中,这样Let's Encrypt会生成包含所有域名的多域名证书,避免HTTPS报错。
- 用方案二的话,需要为第二个域名单独申请SSL证书(ISPConfig里可以直接用Let's Encrypt自动申请)。
- 不要手动修改ISPConfig生成的Nginx配置文件,因为ISPConfig会定期同步配置,手动修改的内容会被覆盖,所有配置操作尽量在控制面板里完成。
内容的提问来源于stack exchange,提问作者Efex
相关产品推荐
相关产品推荐

