Thinkphp Nginx下僞靜態規則

 PHP部分:
location ~ \.php {
        # 以下兩行爲避免,*.php文件不存在,而PHP-FPM(PHP FastCGI) 返回No input file specified錯誤,直接指向站點根目錄下的404.html
        try_files $uri /www/lib/404/404.error.html;
        fastcgi_intercept_errors off;
        fastcgi_pass     127.0.0.1:9999;
        fastcgi_index    index.php;
        fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        include                fastcgi_params;

        # 以下是爲了讓Nginx支持PATH_INFO
        set $path_info "";
        set $real_script_name $fastcgi_script_name;
        if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
        }
        fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
        fastcgi_param SCRIPT_NAME $real_script_name;
        fastcgi_param PATH_INFO $path_info;

        fastcgi_connect_timeout    120;
        fastcgi_send_timeout         120;
        fastcgi_read_timeout         120;
        fastcgi_buffers             8 128K;
        fastcgi_buffer_size         128K;
}


站點部分:
server {
        listen             80;
        server_name    tp tp.com tp.net tp.org www.tp.com www.tp.net www.tp.org;
        root                 /www/root/develop/tp/Public;
        charset            UTF-8;

        location / {
                if (!-e $request_filename){
                        rewrite ^/(.*)$ /index.php?s=/$1 last;
                }
                index    index.php;
        }
        include                php;
        include                error;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章