Nginx重定向[Rewrite]配置及示例 (for zendframework & wordpress & Discuz)

首先Apache的Rewite规则差别不是很大,但是Nginx的Rewrite规则比Apache的简单灵活多了
Nginx可以用if进行条件匹配,语法规则类似C

if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}

官方文档请点击这里
Rewrite的Flags

Flags can be any of the following:
* last - completes processing of rewrite directives, after which searches for corresponding URI and location
* break - completes processing of rewrite directives
*redirect - returns temporary redirect with code 302; it is used if the substituting line begins with http://
* permanent - returns permanent redirect with code 301

last – 完成重写指令后,搜索相应的URI和位置。相当于Apache里的[L]标记,表示完成rewrite,不再匹配后面的规则。
break – 中止Rewirte,不在继续匹配。
redirect – 返回临时重定向的HTTP状态302。
permanent – 返回永久重定向的HTTP状态301。

ZEND Framework的重定向规则:
案例一:
全部重定向到 /index.php
rewrite ^/(.*) /index.php?$1&;
案例二:
如果文件或目录不存在则重定向到index.php
if (!-e $request_filename) {
rewrite ^/(.*) /index.php?$1&;
}

WordPress的重定向规则:
案例一:
http://www.wemvc.com/12 重定向到 http://www.wemvc.com/index.php?p=12
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?p=$1 last;
}

案例二:
与zendframework配置很像
if (!-e $request_filename) {
rewrite ^/(.*) /index.php?$1&;
}

以下为Discuz完整的Rewrite for Nginx规则
if (!-f $request_filename) {
rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 last;rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;
}

文件及目录匹配,其中:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行

正则表达式全部符号解释
~ 为区分大小写匹配
~* 为不区分大小写匹配
!~和!~* 分别为区分大小写不匹配及不区分大小写不匹配
(pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 ‘\(‘ 或 ‘\)’。
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置。
学习更多正则知识请查看这里 正则表达式

  1. 顶~~~~我叫我不知奇闻,希望能交个朋友哈!

  2. ^_^欢迎访问我的小站。生活健康网的小站

  3. ^_^欢迎访问我的小站。泉州生活网的小站

  4. 顶~~~~我叫生活健康网,希望能交个朋友哈!

  5. 开心书屋-提供言情小说,玄幻小说,与网游小说阅读!

  6. 找汽车网为您提供最新汽车报价,汽车图片,汽车价格大全,最精彩的汽车新闻、行情、评测、导购内容,是提供信息最快最全的中国汽车网站。

  7. 投资理财网为您全方位提供财经资讯及全球金融市场行情,覆盖股票、基金、期货、股指期货、外汇、债券、保险、银行、黄金、理财、股吧、博客等财经综合信息

  8. 要汽车网为您提供最新汽车报价,汽车图片,汽车价格大全,最精彩的汽车新闻、行情、评测、导购内容,是提供信息最快最全的中国汽车网站。

  9. ^_^欢迎访问我的小站。武林外传资料站的小站

  10. 爱情地图是阅读爱情小说,爱情故事,爱情短信,爱情日记,爱情测试,爱情电影的爱情网站,为你提供爱情小说,爱情故事,爱情短信,爱情日记,爱情测试,爱情电影等免费爱情文章

  11. 顶~~~~我叫武林外传资料站,希望能交个朋友哈!

  12. 生活理财网为您全方位提供财经资讯及全球金融市场行情,覆盖股票、基金、期货、股指期货、外汇、债券、保险、银行、黄金、理财、股吧、博客等财经综合信息

  13. ^_^欢迎访问我的小站。我不知奇闻的小站

  14. 来去旅游网是中国最大的旅游网站。依靠丰富的旅游资讯与旅游活动,全方位、多角度的旅游报道,为其旅游者,提供全面、详尽的旅游指南。 来去旅游网

  15. 顶~~~~我叫泉州生活网,希望能交个朋友哈!

  16. 顶~~~~我叫我不知手机小说,希望能交个朋友哈!

  17. 开店网提供详尽的开店,网上开店,如何开店,开店须知,开店步骤,找找哪些适合开店的项目信息咨询,看看前辈们开店的经历,听听最前沿的开店信息。

  18. This comment is automaticlly submitted by WpSender2.1 Soft.
    $10 per copy. My email is 12515842@qq.com

  19. 男人网从多个角度诠释男人时尚生活方式,从男士的健康到着装,到男士忠爱的奢侈品;从男士的烧钱的玩物到男士的性健康,做个有魅力的成功男士.

  20. ^_^欢迎访问我的小站。我不知手机小说的小站

  21. 顶~~~~我叫诛仙资料站,希望能交个朋友哈!

  22. 中国妈妈宝宝网专业提供孕妇怀孕手册,孕妇常识,育儿常识,儿童资讯,同时妈咪宝贝网也是孕妇,育儿,儿童护理交流好平台

    • Auron
    • 01月 15th, 2009

    兄弟,你的博客人气好旺啊,真羡慕额~~

  23. 丁香花女性网提供服装搭配、身材与搭配、明星搭配、街头潮流、省钱搭配、色彩搭配、饰品搭配、鞋帽包、搭配图库等最新资讯.. 丁香花女性网

  1. 还没有引用通告。