Nginx 重定向帮助

Nginx 重定向帮助

我想使用 NginxHttpMapModule 和 NginxRedirect 将静态链接重定向到动态 php 链接。

我想重定向http://my_domain/static/static_page1.htmlhttp://域名/dynamic/zone.php?zoneid=86通过从地图表中查找 URL。

我尝试过这个但它以重定向循环结束。

map_hash_bucket_size 256;
    map $uri $dynamic_url {
        default 42;
        /static/static_page1.html 86;
        /static/static_page2.html 36;
    }
    server {
        listen       80;     
        server_name  domain_name;
            rewrite ^ http://domain_name/dynamic/zone.php?zoneid=$dynamic_url break;
    }

请帮我解决这个问题。问候,Shain

答案1

rewrite ^/static http://domain_name/dynamic/zone.php?zoneid=$dynamic_url break;

答案2

最有可能的情况是,您没有针对 domain_name 的服务器块。由于您使用 server_name _,因此它将捕获所有没有更具体服务器块的请求。

因此 Nginx 获取请求,重写它,然后在同一个服务器块中获取请求,然后您的无限循环就开始了。

相关内容