如何配置WordPress.conf的重写规则

2025.5.30 杂七杂八 1770

如何配置WordPress.conf的重写规则

本文详细讲解如何为WordPress配置Nginx的rewrite规则(wordpress.conf),涵盖基础语法、常见场景配置、性能优化技巧及错误排查方法,帮助管理员实现永久链接、多站点等功能的URL重定向。

一、WordPress.conf重写规则的作用

Nginx的rewrite规则是WordPress实现SEO友好URL的核心配置,主要功能包括:

  • 将动态URL转换为静态永久链接
  • 实现多站点网络的子目录/子域名路由
  • 处理插件/主题的特殊重定向需求
  • 优化带参数URL的访问效率

二、基础配置模板

以下是标准WordPress单站点的Nginx配置模板:

location / {
    try_files $uri $uri/ /index.php?$args;
}

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

三、进阶配置场景

1. 多站点子目录模式

rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
if (!-e $request_filename) {
    rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).) /$2 last;
    rewrite ^/([_0-9a-zA-Z-]+/)?(..php)$ /$2 last;
}

2. 强制HTTPS重定向

if ($scheme != "https") {
    return 301 https://$host$request_uri;
}

3. 媒体文件缓存优化

location ~ .(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 365d;
    add_header Cache-Control "public";
}

四、调试与验证方法

  1. 语法检查nginx -t
  2. 重写日志:在server块添加rewrite_log on;
  3. 测试工具:使用curl -I检查响应头

五、常见问题解决

问题现象 解决方案
404页面错误 检查try_files语句顺序
循环重定向 移除重复的HTTPS规则
CSS/JS加载失败 添加静态文件location规则

配置完成后建议执行service nginx reload使配置生效。

评论