nginx配置ThinkPHP Rewrite

来源:互联网 发布:入职程序员感觉干不了 编辑:程序博客网 时间:2024/04/19 15:21

nginx配置ThinkPHP Rewrite

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server {
    listen      80;
    server_name localhost;
    indexindex.html index.htm index.php;
    root/alidata/www;
    #过滤文件访问权限
    location ^/(admin|api)\.php$ {
        deny all;
    }
    location {
        #ThinkPHP Rewrite
        if (!-e $request_filename){
            rewrite ^/(.*)$ /index.php/$1 last;
        }
    }
    location \.php($|/){
        #配置PHP支持PATH_INFO进行URL重写 
        set $script     $uri;
        set $path_info  "";
        if ($uri "^(.+?\.php)(/.+)$"{
            set $script     $1;
            set $path_info  $2;
        }
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include/alidata/server/nginx/conf/fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME    $document_root$script;
        fastcgi_param  SCRIPT_NAME        $script;
        fastcgi_param  PATH_INFO          $path_info;
    }
    location .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires      1d;
    }
    location .*\.(js|css)?$ {
        expires      12h;
    }
}

在ThinkPHP入口文件中加入下面的代码

//解决nginx下访问
define('_PHP_FILE_',$_SERVER['SCRIPT_NAME']);

0 0