我想使用 NginxHttpMapModule 和 NginxRedirect 将静态链接重定向到动态 php 链接。
我想重定向http://my_domain/static/static_page1.html到http://域名/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 获取请求,重写它,然后在同一个服务器块中获取请求,然后您的无限循环就开始了。