You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

aapanel环境www域名加载Nginx页 根域正常运行WordPress

问题根因

故障核心是www.example.com没有被加入WordPress站点对应的Nginx虚拟主机server_name配置项。Nginx收到请求后,会按「监听端口+请求域名」匹配对应虚拟主机规则,没有命中匹配规则时,会直接返回对应端口的默认虚拟主机内容,这就是三个地址访问结果不一致的原因:

  • 80端口(HTTP)的默认虚拟主机配置为Nginx默认欢迎页,因此http://www.example.com命中该规则返回默认页
  • 443端口(HTTPS)的默认虚拟主机指向aaPanel面板服务路径,因此https://www.example.com命中该规则返回面板登录页;由于请求域名和面板实际访问域名不匹配,静态资源加载路径错误,就会出现无样式的裸输入框问题。
修复步骤

1. 面板内绑定www域名

登录aaPanel面板,进入「网站」列表,找到部署WordPress的example.com站点,点击站点名称进入设置页:

  • 切换到「域名管理」标签,输入www.example.com添加到绑定域名列表,点击保存
  • 这一步操作后aaPanel会自动修改对应站点的Nginx配置,将www域名加入server_name列表,同时自动关联80、443端口的监听规则

2. 校验WordPress地址配置

两种方式任选其一校验即可:

  • 方式一:在aaPanel的站点设置页,切换到对应配置项确认站点地址和预期一致
  • 方式二:登录WordPress后台,进入「设置」-「常规」页面,确认「WordPress地址(URL)」「站点地址(URL)」两个值统一:
    • 若计划统一使用根域名访问,两个值都填https://example.com
    • 若计划统一使用www域名访问,两个值都填https://www.example.com
      禁止两个地址分别填写根域和www域名,否则会出现跳转循环故障

3. 补全SSL证书配置(必做)

如果当前站点已经配置了SSL证书:

  • 进入站点设置的「SSL」标签,重新申请/签发证书时,同时勾选example.com和www.example.com两个域名,保证两个域名的HTTPS访问都能被证书信任
  • 如果用的是自定义证书,替换证书文件为同时包含两个域名的SAN证书即可

4. 配置统一跳转(推荐)

如果需要将所有访问请求统一跳转到选定的主域名(比如统一跳转到https://example.com),在站点设置的「配置文件」标签中,添加独立的跳转server块即可,示例配置:

# 80端口www域名跳转
server {
    listen 80;
    server_name www.example.com;
    return 301 https://example.com$request_uri;
}
# 443端口www域名跳转
server {
    listen 443 ssl http2;
    server_name www.example.com;
    # 替换为你服务器上实际的证书路径,和主站共用同一张双域名证书即可
    ssl_certificate /www/server/panel/vhost/cert/example.com/fullchain.pem;
    ssl_certificate_key /www/server/panel/vhost/cert/example.com/privkey.pem;
    return 301 https://example.com$request_uri;
}

5. 重载配置并验证

  • 回到aaPanel首页,进入「软件商店」找到已安装的Nginx,点击「重载配置」(优先用重载而非重启,不会中断现有站点服务)
  • 用浏览器无痕模式分别访问三个地址验证:
    • https://example.com 正常加载WordPress站点
    • http://www.example.com 自动跳转到主域名HTTPS地址并正常加载
    • https://www.example.com 要么正常加载WordPress站点,要么自动跳转到主域名HTTPS地址,不会再出现面板登录页或Nginx默认页
异常排查

如果完成上述步骤后故障依旧,按以下顺序检查:

  • 进入服务器路径/www/server/panel/vhost/nginx/,找到对应WordPress站点的.conf配置文件,确认server_name行同时包含两个域名,格式为server_name example.com www.example.com;
  • SSH连接服务器执行命令nginx -t,检查Nginx配置是否存在语法错误,命令输出会直接提示错误位置,修正后再重载配置
  • 核对DNS解析记录,确认www.example.com的A记录和根域A记录一致,都指向当前服务器的公网IP
  • 清理本地DNS缓存和浏览器缓存后再试,避免本地缓存旧的解析结果或页面内容

内容的提问来源于stack exchange,提问作者TranquilityEden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:54:04