NGINX重定向循环的
我有一个NGINX网络服务器和我试图重定向页面 www.example.com/newsletter
到 www.example.com/blog/category/newsletter
NGINX重定向循环的
但重定向规则我是匹配两个位置,并导致重定向循环。如何让规则忽略/ blog/category页面,同时仍然重定向/ newsletter页面?
,我使用重定向规则是:rewrite ^/newsletter$ https://www.example.com/blog/category/newsletter permanent;
我不是在正则表达式非常好,我甚至不知道那是什么,我需要用它来得到排除最后一页重定向循环。
我不会重写处理它,试试这个,而不是
location = /newsletter {
return 301 $scheme://www.example.com/blog/category/newsletter;
}
使用位置块的作品。我想知道,为什么你更喜欢用位置块来处理它?比使用位置块之外的重写更好吗? – 2013-05-14 20:18:16
点不是在定位台,它避免了重写,nginx的做一回比一重写速度更快,所以在性能方面这样做是不是运行重写引擎更好 [检查这个环节,这是非常有用的( http://wiki.nginx.org/Pitfalls#Taxing_Rewrites) – 2013-05-14 23:00:26
这不可能是唯一的问题。你能否提供整个服务器块?在我拥有它时,我会调试你的nginx配置。重写规则与某些事物相冲突,但与其本身不一致。 – 2013-05-14 15:31:15
您可能需要添加一些上下文,如位置部分。在重写结束时用'永久中断'代替永久'解决问题? – 2013-05-14 15:33:02
这个'rewrite'指令肯定与'/ newsleter'没有任何关系。您应该刷新可能适用的所有缓存(包括浏览器)。如果您之前测试过其他表达式,则重定向响应可能仍被缓存(因为它是永久性的)。您也可以尝试'curl -v'来检查服务器的实际响应。 – Lukas 2013-05-14 15:38:53