Nginxredirect帮助

我想使用NginxHttpMapModule和NginxRedirect将静态链接redirect到dynamicPHP链接。

我想通过查看地图表中的url将http://my_domain/static/static_page1.htmlredirect到http://domain_name/dynamic/zone.php?zoneid = 86 。

我试过,但它在一个redirect循环结束。

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

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

最有可能发生的是你没有domain_name的服务器块。 由于您使用server_name _它将捕获所有没有更具体的服务器块的请求。

所以Nginx获取请求,重写它,然后在同一个服务器块中获取请求,并且你的无限循环已经开始。