2012-06-11 68 views
0

我试图使用Nginx的重定向从/t/latest/2/topics/latest/page/2Nginx的重定向上paginations

rewrite ^/t/latest$  /topics/latest permanent; 
rewrite ^/t/latest/(.*)$  /topics/latest/page/$1 permanent; 

这个效果很好,但我不知道是否有一个更聪明的方式在一个规则来做到这一点?这是因为有许多像这样的重定向,如果我可以削减冗余,那将会很好。

+0

什么是类似的URL的一些例子,想要做到这一点?也许有一个正则表达式可以处理所有的情况。 –

+0

哦结合上面提到的两个答案会很好,因为其他页面可能会非常不同。 – lulalala

回答

0

我看不出在单个规则中完成此操作的方法。如果这样的事情是可能的,我希望看起来比你在这里的两条简单线条更扭曲。

但是,我使用的另一种方法可能会使您的项目受益。我的nginx配置是从模板生成的。每次服务器启动或重新启动时,“init”脚本都会运行一个Perl脚本,该脚本将从配置文件中填充模板。然后Nginx会“包含”这个文件。这是在生产中使用,并运作良好。

该解决方案为您提供了削减配置nginx的所需要的时间,同时还让你有可读rewrite指令的另一种选择。