素材牛VIP会员
nginx上面的rewrite规则怎么写
 Su***er  分类:PHP代码  人气:1198  回帖:3  发布于6年前 收藏

在nginx上面装了tp5,发现路由怎么也不对,重写规则怎么写也不对,有遇到过相同问题的人吗?顺便问一下php程序员需要对nginx很熟悉吗?nginx学习怎样的路线会比较好点?

 标签:nginxphp

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv1 新人
凌***志 移动开发工程师 6年前#1

第一问: 试试 rewrite ^/(.*)$ /index.php/$1 last;
第二问: 在,php比较精通后可以去稍微了解的下HTTP服务器。

Lv3 码奴
走***一 交互设计师 6年前#2

你可以参考下一下这篇文章的 https://blog.chenishr.com/?p=623 配置:

server {
    listen       80;
    server_name  tp5.loc;

    set $vhost_path tp5/public;

    location / {
        root   /usr/share/nginx/html/$vhost_path;
        index  index.php index.html index.htm;

        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 last;
        }
    }

    location ~ ^(.+\.php)(.*)$ {
        root /var/www/html/$vhost_path;
        fastcgi_pass   phpfpm:9000;
        fastcgi_split_path_info       ^(.+\.php)(.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO       $fastcgi_path_info;

        include        fastcgi_params;
    }
}
Lv1 新人
Al***ay 职业无 6年前#3

nginx默认不支持pathinfo模式的,所以tp的路由用不了,我记得是有一个地方能开启,你可以百度一下nginx开启支持pathinfo模式

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取