关于 Nginx 下的 rewrite 规则

2014-09-01 21:15:47 +08:00
 TONYHEAD
Nginx规则,把所有http://abc.com/archive/tag/苹果 交给 http://abc.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=1&tag=苹果 处理

rewrite /archive/tag/(.+)$ /cgi-bin/mt/mt-search.cgi?IncludeBlogs=1&tag=$1 last;

但我在http://abc.com/archive/tag/下有一个http://abc.com/archive/tag/index.html,请问如何改写rewrite使得http://abc.com/archive/tag/会去访问该目录下的index.html文件而不是去请求一个http://abc.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=1&tag=index.html 呢?

谢谢。
2009 次点击
所在节点    问与答
3 条回复
sophymax
2014-09-01 21:55:59 +08:00
rewrite太过晦涩,你需要的是 rewrite_by_lua 用代码的方式来判断,这篇文章的最后一段对你会有帮助 http://www.codezhai.com/code/openresty-lua-%E5%85%A8%E7%AB%99%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90copy-%E6%8A%93%E7%AB%99%E7%A8%8B%E5%BA%8F-%E6%95%B4%E7%AB%99%E6%8A%93%E5%8F%96/
lnkisi
2014-09-01 22:18:02 +08:00
将index.html放在另一个目录不就好了
rewrite ^/archive/tag/index.html$ /archive/real_tag/index.html last
rewrite ^/archive/tag/(.+)$ /cgi-bin/mt/mt-search.cgi?IncludeBlogs=1&tag=$1 last;
TONYHEAD
2014-09-01 22:31:09 +08:00
@sophymax 感谢,超过了楼主的知识。

@lnkisi 好主意,试验成功,谢谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/131159

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX