码迷,mamicode.com
首页 > 其他好文 > 详细

nginx rewrite

时间:2016-07-24 07:00:18      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

0 预期效果

http://bbs.lanny.com/thread-1-1-1.html  <----网址更优雅:nginx rewrite

 

1,配置文件

1,nginx配置文件
[root@lnmp conf]# cat nginx.conf
worker_processes  2;
error_log  logs/error.log error;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
    log_format  main  $remote_addr - $remote_user [$time_local] "$request" 
                      $status $body_bytes_sent "$http_referer" 
                      "$http_user_agent" "$http_x_forwarded_for";


    include extra/www.conf;
    include extra/bbs.conf;
#    include extra/blog.conf;
}


2,nginx支持php及nginx rewrite规则
[root@lnmp extra]# pwd
/application/nginx/conf/extra
[root@lnmp extra]# cat bbs.conf
server {
    listen       80;
    server_name  bbs.lanny.com;
        root   /data/html/bbs;
        index  index.html index.php index.htm;
        access_log logs/bbs_access.log;
#使nginx支持php
        location ~ .*\.(php|php5)?$
            {      
             fastcgi_pass  127.0.0.1:9000;
             fastcgi_index index.php;
             include fastcgi.conf;
        }   
#以下摘自discuz后台代码    
    rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
    rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
    rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
    rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
    rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
    rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
    rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
    rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;
    rewrite ^([^\.]*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3 last;
    
    if (!-e $request_filename) {
        return 404;
    }
}

 

 discuz rewrite代码

技术分享

 

nginx rewrite

标签:

原文地址:http://www.cnblogs.com/iiiiher/p/5700008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!