apache如何配置两个域名指向不同目录

教程大全 2026-01-15 19:20:30 浏览

在Apache服务器中配置两个域名是一个常见的需求,无论是个人博客、小型企业网站还是多项目部署,合理的域名配置都能提升服务器的管理效率和用户体验,本文将详细介绍如何在Apache中实现两个域名的配置,包括前提条件、配置步骤、虚拟主机设置及常见问题处理等内容。

前提条件

在开始配置之前,需要确保以下条件已满足:

配置步骤

启用虚拟主机模块

Apache默认可能未启用虚拟主机模块,需手动开启:

创建网站目录

为两个域名分别创建网站根目录,并放置测试文件:

sudo mkdir -p /var/www/domain1.com /var/www/domain2.comsudo echo "

Domain 1

" > /var/www/domain1.com/index.htmlsudo echo "

Domain 2

" > /var/www/domain2.com/index.htmlsudo chown -R www-data:www-data /var/www/# 设置目录所有者

编写虚拟主机配置文件

在Apache的站点配置目录(如 /etc/apache2/sites-available/ /etc/httpd/conf.d/ )中创建两个配置文件,内容如下

domain1.conf (示例):

ServerName domain1.comServerAlias www.domain1.comDocumentRoot /var/www/domain1.comErrorLog ${APACHE_LOG_DIR}/domain1_error.logCustomLog ${APACHE_LOG_DIR}/domain1_access.log combinedOptions Indexes FollowSymLinksAllowOverride AllRequire all granted

domain2.conf (示例):

ServerName domain2.comServerAlias www.domain2.comDocumentRoot /var/www/domain2.comErrorLog ${APACHE_LOG_DIR}/domain2_error.logCustomLog ${APACHE_LOG_DIR}/domain2_access.log combinedOptions Indexes FollowSymLinksAllowOverride AllRequire all granted

加载配置并重启服务

保存配置文件后,执行以下命令使配置生效:

sudo apache2ctl configtest# 检查配置语法sudo systemctl reload apache2# 重载服务(推荐)或 restart

配置验证

通过浏览器访问两个域名,若分别显示对应的测试内容,则配置成功,也可通过命令行测试:

curl -I-Iapache不同对应不同网站目录

常见问题处理

扩展配置(可选)

若需支持https,可结合Let’s Encrypt为域名签发免费证书:

sudo apt install certbot python3-certbot-apachesudo certbot --apache -d domain1.com -d domain2.com

根据提示选择重定向选项(HTTP跳转HTTPS或同时支持HTTP和HTTPS)。

通过以上步骤,即可在Apache服务器中成功配置两个独立域名,实现多站点托管,合理规划目录结构和权限管理,能够为后续维护和扩展提供便利。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐