ThinkPHP怎样配置URL模式为PathInfo?

1.修改thinkphp配置文件
   打开文件,项目根目录/App/Home/Conf/config.php

‘URL_MODEL‘=>1,    //url设置为PathInfo模式

2.修改linux下的nginx配置文件
   /etc/nginx/nginx.conf

server{

......

location ~ \.php {
root /www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;

#定义变量 $path_info ,用于存放pathinfo信息
set $path_info "";
#定义变量 $real_script_name,用于存放真实地址
set $real_script_name $fastcgi_script_name;
#如果地址与引号内的正则表达式匹配
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#将文件地址赋值给变量 $real_script_name
set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}

......

}

3.重启nginx服务

   运行以下命令

service nginx restart
时间: 2024-12-11 14:17:29

ThinkPHP怎样配置URL模式为PathInfo?的相关文章

ThinkPHP教程_PHP框架之ThinkPHP(二)【URL路径访问与模块控制器、URL四种模式、PATHINFO的两种模式、模板与控制器之间的关系】

一.URL路径访问与模块控制器 URL 模块(控制器) 动作(方法) 即以上三者之间的关系URL:http://127.0.0.1/projectName/index.php/模块/动作 1.ThinkPHP规定,两点 ·第一.所有的主入口文件默认访问index控制器(模块) ·第二.所有的控制器默认执行index方法(动作) 特别强调一下,以上两点是独立的!也就是说"所有的主入口文件默认访问index控制器,并执行默认执行index方法"是不准确的 那么,http://127.0.0

ThinkPHP 3.2.3(三)架构之URL模式

一.标准URL格式 http://serverName/index.php/模块/控制器/操作 二.URL大小写 在/ThinkPHP/Conf/convention.php文件里有URL大小写的配置选项,默认false表示URL区分大小写,true则表示不区分大小写. 手册说,开启调试模式的情况下,这个参数是false,但我的项目中该参数依然是true. 三.URL模式 ThinkPHP支持的URL模式有四种:普通模式.PATHINFO.REWRITE和兼容模式,可以通过设置URL_MODEL

ThinkPHP 学习笔记(六) URL模式

1.URL大小写 ThinkPHP框架的URL是区分大小写(主要是针对模块.控制器和操作名,不包括应用参数)的,这一点非常关键,因为ThinkPHP的命名规范是采用驼峰法(首字母大写)的规则,而URL中的模块和控制器都是对应的文件,因此在Linux环境下面必然存在区分大小写的问题. 框架内置了一个配置参数用于解决URL大小写的问题,如下:     'URL_CASE_INSENSITIVE'=>true, 当URL_CASE_INSENSITIVE设置为true的时候表示URL地址不区分大小写,

thinkphp学习笔记6—url模式

原文:thinkphp学习笔记6-url模式 入口文件是应用的唯一入口,因为可以多入口,每个应用可以对应一个入口文件,系统会从rul参数中解析当前请求的模块,控制器,操作.ThinkPHP是区分大小写的,考虑到linux是区分大小写的,所以在ThinkPHP中模块,控制器,模型等都是区分大小写的,并且使用驼峰命名规则. 如果我们直接访问入口文件index.php,url中没有给出模块,控制器,操作,系统会默认访问Home模块下的Index控制器下的index操作,因此下面的两种访问方法得到的结果

thinkphp url模式

入口文件是应用的单一入口,对应用的所有请求都定向到应用入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作: http://serverName/index.php/模块/控制器/操作 这是3.2版本的标准URL格式. 可以通过设置模块绑定或者域名部署等方式简化URL地址中的模块及控制器名称. URL大小写 ThinkPHP框架的URL是区分大小写(主要是针对模块.控制器和操作名,不包括应用参数)的,这一点非常关键,因为ThinkPHP的命名规范是采用驼峰法(首字母大写)的规则,而UR

thinkphp nginx php-fpm url rewrite 导致 404 错误

thinkphp nginx php-fpm url rewrite 导致 404 错误 之前thinkphp的系统部署在apache上,考虑到在并发性能nginx比apache强悍得多,所以在centos上以 nginx+php-fpm模式重新部署了thinkphp系统,结果发现诸如 1 /index.php/home/user/verify 此类的url nginx会报404错误,但是改成 1 /index.php?s=/home/user/verify 之后却能够访问,这说明前一种url

Thinkphp_基础(2)URL模式

URL请求 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作,下面是一个标准的URL访问格式: http://serverName/index.php/模块/控制器/操作 如果我们直接访问入口文件的话,由于URL中没有模块.控制器和操作, 因此系统会访问默认模块(Home)下面的默认控制器(Index)的默认操作(index), 因此下面的访问是等效的: http://serverName/index.php

Thinkphp学习笔记1-URL模式

PATHINFO模式 PATHINFO模式是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境.对应上面的URL模式,PATHINFO模式下面的URL访问地址是: http://localhost/index.php/home/user/login/var/value/ PATHINFO地址的前三个参数分别表示模块/控制器/操作. 不过,PATHINFO模式下面,依然可以采用普通URL模式的参数方式,例如:http://localhost/

ThinkPHP的URL模式有四种,默认的PATHINFO模式

ThinkPHP的URL模式有四种,默认是PATHINFO模式,其他三种分别为:普通模式.REWRITE和兼容模式. 浏览器输入格式为:http://localhost/demo39/index.php/模块/控制器/操作 在Home的Controller建立UserController.calss.php,如下图所示: 在浏览器上输入 http://localhost/demo39/index.php/Home/User 得到的结果为: user index 这时在浏览器中输入上面所说的输入格