配置nginx支持thinkphp框架

因为nginx本身没有支持pathinfo,所以无法使用thinkphp框架,不过我们可以在配置里进行修改使其能够正常使用thinkphp。

1.修改配置支持pathinfo

vi /etc/nginx/cong.d/default.conf

在nginx的配置中添加

location ~ \.php/?.*$ {
      root html;         #这里的路径需要注意一下,自己之前几次配置错误都是因为从网上直接粘贴的路径不对
        fastcgi_pass   127.0.0.1:9000;  
        fastcgi_index  index.php;  
        include        fastcgi.conf;  
                  
        set $fastcgi_script_name2 $fastcgi_script_name;  
        if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {  
            set $fastcgi_script_name2 $1;  
            set $path_info $2;  
        }  
        fastcgi_param   PATH_INFO $path_info;  
        fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;  
        fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;  
    }

重启nginx,service nginx restart

测试:

修改好了配置之后我们来测试一下

vi /usr/share/nginx/html/think/Application/Home/Controller/IndexController.class.php修改一下控制器文件

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
        $this->display();

}
}

再建立模板文件,vi /usr/share/nginx/html/think/Application/Home/View/Index/index.html
随便写一点内容:hello,world

访问地址:###/think/index.php/Home/Index/index.html

显示出hello,world的话,说明配置成功

2.我们在thinkphp框架的使用中经常会用到url重写模式,所以我们再配置一下rewrite

location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
        if (!-e $request_filename) {
           rewrite  ^/(.*)$  /index.php/$1  last;
           break;
        }  
        # example
        #ModSecurityEnabled on;
        #ModSecurityConfig /etc/nginx/modsecurity.conf;
    }
重启nginx

时间: 2024-12-21 06:44:06

配置nginx支持thinkphp框架的相关文章

配置nginx支持TP框架

TP框架配置中默认URL_MODEL=1,而Nginx默认是不支持PATHINFO的.如果我们只想跑起来tp框架,很简单,只需到更改TP配置,设置URL_MODEL=3(兼容模式).但是如果要让Nginx支持ThinkPHP PATHINFO需要做如下配置: 1.设置ThinkPHP URL模式URL_MODEL=1: 2.修改nginx配置文件(红色部分更改称相应的内容) server { listen 80; server_name www.myblog.com; index index.p

使Nginx支持ThinkPHP框架

一.nginx不支持thinkphp的原因 ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可.在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以nginx默认情况下是不支持thinkphp的.不过我们可以通过修改nginx的配置文件来让其支持thinkphp. 二.让nginx支持pathinfo,支持thinkphp 1

配置Nginx支持ThinkPHP

location / { root   /usr/share/nginx/html; index  index.html index.htm; if (!-e $request_filename) { rewrite ^/index.php(.*)$ /index.php?s=$1 last; rewrite  ^(.*)$  /index.php?s=$1  last; break; } }

配置nginx支持thinkphp请求

直接记录配置如下 user  www; worker_processes  1; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     keepalive_timeout  300;     sendfile        on;     server {         listen       8

四、配置nginx支持php

                                四.配置nginx支持php     在Ubuntu下搭建LNMP环境.编译安装mysql,nginx,php.最后在LNMP前提下安装composer,并且安装laravel框架.第四步,配置nginx支持php. 首先建立存放网页文件的目录,执行"sudo mkdri /usr/local/server/www".然后进入到该目录中,"cd/usr/local/server/www". 修改ngin

Nginx支持thinkphp pathinfo模式

Nginx默认不支持thinkphp的pathinfo 模式,无奈只能修改nginx配置.修改后的配置如下: 1.nginx.conf: user  apache apache; worker_processes  16; worker_cpu_affinity auto; pid        /var/run/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections  51200; } http

Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --------------(LNMP)新手专用 http://blog.csdn.net/dyllove98/article/details/41120789 配置Nginx来支持php http://www.cnblogs.com/jecyhw/p/5504855.html nginx+php的配置与

centos下配置nginx支持php

添加nginx 默认主页index.php vim /etc/nginx/conf.d/default.conf location / { root   /usr/share/nginx/html; index  index.html index.htm index.php; } 配置nginx支持php vim /etc/nginx/conf.d/default.conf # pass the PHP scripts to FastCGI server listening on 127.0.0

配置nginx支持pathinfo

服务器运行的nginx+php,centos的系统.因需新部署一个网站,需要配置nginx支持pathinfo功能.网上各种查资料,终于搞定. 首先查看php.ini文件,查找cgi.fix_pathinfo=0,如不是0,改为0.重启php程序. 然后修改nginx配置文件: location ~ \.php {                    ------(去掉php后面的$) fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.ph