上一篇
httpd.ini二级域名
- 行业动态
- 2025-04-25
- 3763
编辑httpd.ini文件,添加二级域名条目,配置Host头与文档根路径,重启服务生效
httpd.ini 文件
httpd.ini 是 Apache HTTP Server 的配置文件,用于定义服务器运行参数、虚拟主机、域名绑定、日志路径等核心配置,二级域名配置需在此文件中通过 VirtualHost
指令实现。
二级域名配置核心步骤
步骤 | 操作说明 | 示例 |
---|---|---|
启用必要模块 | 确保 mod_vhost_alias 或 mod_rewrite 已加载(需提前检查) | LoadModule vhost_alias_module modules/mod_vhost_alias.so |
定义虚拟主机 | 使用 <VirtualHost> 块绑定二级域名 | <VirtualHost :80><ServerName sub.example.com>...</VirtualHost> |
设置文档根目录 | 指定二级域名对应的网站文件路径 | DocumentRoot /var/www/sub |
配置日志(可选) | 独立记录二级域名访问日志 | CustomLog /var/log/httpd/sub.example.com-access.log combined |
典型二级域名配置示例
# 主域名配置(example.com) <VirtualHost :80> ServerName example.com DocumentRoot /var/www/main ErrorLog /var/log/httpd/main-error.log CustomLog /var/log/httpd/main-access.log combined </VirtualHost> # 二级域名配置(sub.example.com) <VirtualHost :80> ServerName sub.example.com DocumentRoot /var/www/sub ErrorLog /var/log/httpd/sub-error.log CustomLog /var/log/httpd/sub-access.log combined </VirtualHost>
动态二级域名通配配置(wildcard)
若需批量配置类似 .example.com
的二级域名,可使用通配符:
<VirtualHost :80> ServerAlias .example.com DocumentRoot /var/www/dynamic <Directory /var/www/dynamic> AllowOverride All Require all granted </Directory> </VirtualHost>
注意:需配合 .htaccess
或 mod_rewrite
实现动态解析。
常见问题与解答
问题1:如何让多个二级域名共用同一文档根目录?
解答:
在 VirtualHost
中配置相同 DocumentRoot
,并通过 .htaccess
或 URL 重写规则区分内容。
<VirtualHost :80> ServerName sub1.example.com ServerName sub2.example.com DocumentRoot /var/www/shared </VirtualHost>
在 /var/www/shared/.htaccess
中添加:
RewriteCond %{HTTP_HOST} ^sub1.example.com$ [NC] RewriteRule ^(.)$ sub1/$1 [L] RewriteCond %{HTTP_HOST} ^sub2.example.com$ [NC] RewriteRule ^(.)$ sub2/$1 [L]
问题2:二级域名访问出现 403 禁止错误怎么办?
解答:
- 检查文件权限:确保
DocumentRoot
目录及文件拥有正确的读取权限(如chmod 755
)。 - 验证配置语法:使用
httpd -t
命令检查 httpd.ini 是否存在语法错误。 - 防火墙设置:确认服务器防火墙(如
iptables
或firewalld
)允许 80/443 端口通信。 - SELinux 限制(若启用):临时关闭 SELinux 测试(
setenforce 0
),若解决则需调整策略