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

如何在Nginx中将指定目录下所有请求重定向到index并传递请求参数?

Nginx指定目录请求重定向配置方案

适配需求的配置修改

你可以直接修改现有的location块配置,以下是两种常见场景的写法:

场景1:匹配/link开头的所有请求(对应你示例的路径规则)

location ^~ /link {
    # 内部转发,用户浏览器地址栏不变,传递/link后的路径作为search参数
    rewrite ^/link/(.*)$ /link/index.php?search=$1 last;
    # 需保留原始请求自带的其他查询参数时,替换为下面这条
    # rewrite ^/link/(.*)$ /link/index.php?search=$1&$args last;

    # 如果你需要做公开跳转(地址栏显示index.php路径),替换rewrite为以下二选一
    # rewrite ^/link/(.*)$ /link/index.php?search=$1 redirect; # 临时跳转302
    # rewrite ^/link/(.*)$ /link/index.php?search=$1 permanent; # 永久跳转301
}

场景2:适配你现有/pages目录的配置

location /pages {
    rewrite ^/pages/(.*)$ /pages/index.php?search=$1 last;
    include fastcgi.conf;
}

关键说明

  • ^~ /link前缀匹配优先级高于正则匹配,可避免请求被其他.php相关的location规则拦截
  • 如果需要传递完整的原始请求路径(包含/link前缀),直接用内置变量$request_uri即可:rewrite ^ /link/index.php?search=$request_uri last;
  • 修改配置后先执行nginx -t检查语法合法性,无报错再执行nginx -s reload生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 22:15:00