PHP CI框架的url路由配置

来源:互联网 发布:手机淘宝详情店铺活动 编辑:程序博客网 时间:2024/05/17 06:50

现在使用的nginx,这里以版本为1.10.3的nginx为例,现在增加了try_files语法,比原来的rewrite路由的方式更加高效。

CI框架使用MVC框架,框架需要单一入口来处理请求,对于不存在的文件要做一下重新路由的功能,这是必需的。

为了支持CodeIgniter框架, linux的  nginx 增加了一项配置,如下:

server {          listen 8000 default_server;          server_name newcar.site;        root /var/www/newcar;        index index.php index.html index.htm;           location / {              try_files $uri $uri/ /index.php;          }          location ~ \.php$ {              include snippets/fastcgi-php.conf;            include fastcgi_params;            fastcgi_pass   unix:/var/run/php/php7.0-fpm.sock;              fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO $fastcgi_path_info;            fastcgi_split_path_info ^(.+\.php)(.*)$;            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;                }      }

其中标黄的部分表示的意思其实就是rewrite机制,如果请求的文件不存在而且文件夹也不存在时,才会跳转到/index.php页面


Windows下nginx的配置:


server {        listen       80;        server_name  newcar.xin.com ;        root   "D:/phpStudy/WWW/x.xin.com";index  index.html index.htm index.php;        location / {                        try_files $uri $uri/ /index.php;        }        location ~ \.php(.*)$ {include uxin-conf.d/www_newcar.conf;            include        fastcgi_params;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO  $fastcgi_path_info;            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;        }}


原创粉丝点击