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

WordPress子目录IFSC Code脚本Nginx伪静态访问404问题求助

问题原因

  • rewrite规则匹配前缀错误
    location块匹配/ifsc-code路径下的请求时,你写的rewrite规则从根路径^/开始匹配,会把ifsc-code作为第一个捕获项赋值给bank参数,实际参数完全匹配错误。
  • 跳转目标路径错误
    你当前配置里跳转的/index.php是站点根目录的index.php(也就是WordPress的入口文件),而不是ifsc-code子目录下的脚本入口,所以请求被转发给WordPress后找不到对应路径返回404。
  • try_files优先级高于rewrite且配置错误
    你写的try_files $uri $uri/ /index.php?$args会优先执行,只要静态文件/目录不存在就直接跳转到根目录的WordPress入口,后面的rewrite规则根本不会生效。
  • rewrite规则没有加执行标记
    缺少last/break标记,会导致规则执行逻辑混乱,即使匹配到也无法正常跳转。

修复后的配置

location /ifsc-code {
    # 先匹配静态资源,不存在则走自定义重写规则
    try_files $uri $uri/ @ifsc_rewrite;
}

location @ifsc_rewrite {
    # 重写规则从/ifsc-code/之后开始匹配路径段,避免误抓子目录名作为参数
    rewrite ^/ifsc-code/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ /ifsc-code/index.php?bank=$1&state=$2&district=$3&branch=$4 last;
    rewrite ^/ifsc-code/([^/]+)/([^/]+)/([^/]+)/?$ /ifsc-code/index.php?bank=$1&state=$2&district=$3 last;
    rewrite ^/ifsc-code/([^/]+)/([^/]+)/?$ /ifsc-code/index.php?bank=$1&state=$2 last;
    rewrite ^/ifsc-code/([^/]+)/?$ /ifsc-code/index.php?bank=$1 last;
}

配置生效操作

修改Nginx配置后执行nginx -t检查配置语法无误,再执行nginx -s reload重载配置即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 19:15:01