复杂的nginx重写配置记录

server
{
        access_log /app/nginx/logs/hao.example.com.log;
        error_log  /app/nginx/logs/hao.example.com_error.log;
        listen     80;
        server_name hao.example.com;
        root /data/daohang_example/www.example.com_html/; 
        index index.html;

        rewrite  ^/tpl/img/([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/.*)$ /upload/img/$1 last;
        rewrite  ^/s.html$ /index.html last;

        if ($query_string = "chno=sw_wn07" )
        {
                rewrite  ^/.*$  /index.php?m=index&c=index&a=aboutNew&chno=sw_wn07 last;
        }
        error_page  404 = /index.html;
        location ~* ^.+\.php($|/)
        {
                root /data/daohang_example/www.example.com/;
                #fastcgi_pass  unix:/tmp/php-cgi.sock;
                #fastcgi_pass  127.0.0.1:9000;
                #fastcgi_index index.php;
                #include fcgi.conf;
                set $script     $uri;
                set $path_info  "/";
                if ($uri ~ "^(.+\.php)(/.+)") {
                        set $script     $1;
                        set $path_info  $2;
                }
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_connect_timeout 900;
                fastcgi_send_timeout 900;
                fastcgi_read_timeout 900;
                fastcgi_buffer_size 1024k;
                fastcgi_buffers 8 1024k;
                fastcgi_busy_buffers_size 2048k;
                fastcgi_temp_file_write_size 2048k;
                fastcgi_index  index.php?IF_REWRITE=1;
                include        fastcgi_params;
                fastcgi_param PATH_INFO $path_info;
                fastcgi_param SCRIPT_FILENAME  $document_root/$script;
                fastcgi_param SCRIPT_NAME $script;
        }
        location ~ ^/upload/img/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/.*$ 
        {
                root /data/daohang_example/admin.example.com/;
                expires      30d;
        }
        location ~ ^/tpl/.*html$
        {
             root /data/daohang_example/www.example.com/;
        }
        location ~ ^/html/.*html$
        {
             root /data/daohang_example/www.example.com/;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
        {
                root /data/daohang_example/www.example.com/;
                expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
                root /data/daohang_example/www.example.com/;
                expires      1h;
        } 
}

你可能感兴趣的:(复杂的nginx重写配置记录)