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
相关产品推荐
相关产品推荐

