计算机网络/计算机科学与应用/系统/运维/开发

Nginx配置支持ThinkPHP

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,

只需要在配置文件中设置 ‘URL_MODEL’ => 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,

但是Nginx中默认是不支持PATHINFO的,所以我们需要修改nginx.conf文件。


server {
    listen 80;
    server_name    mydomain.vm    www.mydomain.vm;
    access_log    /app/logs/nginx/mydomain_access.log;
    error_log    /app/logs/nginx/mydomain_error.log;
    set        $root    /app/www/mydomain.vm/public;
    location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
    {
        root $root;
    }
    location / {
        root    $root;
        index    index.html index.php;
        if ( -f $request_filename) {
            break;
        }
        if ( !-e $request_filename) {
            rewrite ^(.*)$ /index.php/$1 last;
            break;
        }
    }
    location ~ .+\.php($|/) {
        set $script $uri;
        set $path_info "";
        if ($uri ~ "^(.+\.php)(/.+)") {
            set $script $1;
            set $path_info $2;
        }
        fastcgi_pass    unix:/run/php/php7.0-fpm.sock;
        fastcgi_index    index.php?IF_REWRITE=1;
        fastcgi_param    PATH_INFO    $path_info;
        fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
        fastcgi_param    SCRIPT_NAME    $script;
        include        fastcgi_params;
    }
}



你努力了什么,也就成就了什么,与其羡慕别人,不如蜕变自己。

评论

^