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

Azure App Service中WordPress(Nginx)的301重定向配置疑问

解决Azure App Service中WordPress的HTTP→HTTPS、www→非www 301重定向问题

运行时Nginx实际加载的配置文件

wordpress-alpine-php镜像默认使用/etc/nginx/nginx.conf作为主配置文件,但Azure App Service的容器/etc目录属于临时存储,容器重启后所有修改都会丢失——这就是你修改/etc下文件无效的核心原因。而/home/site/wwwroot/nginx.conf默认不会被Nginx自动加载,除非你手动调整启动命令让Nginx读取这个路径的文件。

是否该在nginx.conf中配置重定向?

可以,但不建议直接修改/etc下的文件(因为不持久)。正确的持久化配置方式是:

  • 把包含重定向规则的自定义nginx.conf放到/home/site/wwwroot目录(该目录是持久存储,不会随容器重启丢失)
  • 在Azure App Service的启动命令中添加复制命令和Nginx重载命令,示例:
    cp /home/site/wwwroot/nginx.conf /etc/nginx/nginx.conf && nginx -s reload
    

更灵活的方式是不替换整个主配置,单独拆分重定向规则:

  1. 在/home/site/wwwroot下创建nginx-conf.d目录,新建redirects.conf文件,内容如下:
    server {
        listen 80;
        server_name www.yourdomain.com;
        return 301 https://yourdomain.com$request_uri;
    }
    server {
        listen 80;
        server_name yourdomain.com;
        return 301 https://yourdomain.com$request_uri;
    }
    
  2. 启动命令改为:
    cp /home/site/wwwroot/nginx-conf.d/redirects.conf /etc/nginx/conf.d/ && nginx -s reload
    

这种方式无需改动主配置,兼容性更强。

Azure App Service更优的实现方式

有两种比修改Nginx配置更简单可靠的方案:

方法1:通过WordPress配置强制重定向

由于Azure App Service的SSL终止在前端负载均衡器,后端容器接收的是HTTP请求,需要先让WordPress信任X-Forwarded-Proto头,再强制HTTPS和非www:
在wp-config.php中添加以下代码:

// 信任Azure反向代理的HTTPS标识头
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

// 强制后台和登录页使用HTTPS
define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

// 强制跳转到非www域名
if ($_SERVER['HTTP_HOST'] === 'www.yourdomain.com') {
    wp_redirect('https://yourdomain.com' . $_SERVER['REQUEST_URI'], 301);
    exit;
}

同时在WordPress后台「设置→常规」中,将WordPress地址和站点地址都改为https://yourdomain.com。

方法2:使用Azure平台级重定向规则

这是最推荐的方案,完全无需修改代码或容器配置:

  1. 登录Azure门户,进入你的App Service资源
  2. 左侧菜单选择「自定义域名」
  3. 点击「添加重定向」:
    • 源域名:选择yourdomain.com(HTTP)和www.yourdomain.com(HTTP/HTTPS)
    • 目标域名:https://yourdomain.com
    • 重定向类型:选择「永久(301)」
    • 勾选「将所有路径重定向到目标路径」
  4. 保存配置即可。平台会自动处理所有重定向请求,无需担心容器重启或配置丢失问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:40:39