当前位置:首页 > 行业动态 > 正文

httpd.ini二级域名

编辑httpd.ini文件,添加二级域名条目,配置Host头与文档根路径,重启服务生效

httpd.ini 文件

httpd.ini 是 Apache HTTP Server 的配置文件,用于定义服务器运行参数、虚拟主机、域名绑定、日志路径等核心配置,二级域名配置需在此文件中通过 VirtualHost 指令实现。


二级域名配置核心步骤

步骤 操作说明 示例
启用必要模块 确保 mod_vhost_aliasmod_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>

注意:需配合 .htaccessmod_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 禁止错误怎么办?

解答

  1. 检查文件权限:确保 DocumentRoot 目录及文件拥有正确的读取权限(如 chmod 755)。
  2. 验证配置语法:使用 httpd -t 命令检查 httpd.ini 是否存在语法错误。
  3. 防火墙设置:确认服务器防火墙(如 iptablesfirewalld)允许 80/443 端口通信。
  4. SELinux 限制(若启用):临时关闭 SELinux 测试(setenforce 0),若解决则需调整策略
0