THINKPHP nginx设置路由为PATHINFO模式

首先THINKPHP配置文件中设置

//url访问模式为rewrite模式
‘URL_MODEL‘=>‘2‘,

然后再在nginx.conf文件中,找到这一条语句 #access_log logs/host.access.log main;
找到location /{}这个语句段落

location / {            index  index.html index.htm index.php;            #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则            if (!-e $request_filename)                {                    #地址作为将参数rewrite到index.php上。                    #rewrite ^/(.*)$ /index.php/$1;                    #若是子目录则使用下面这句,将subdir改成目录名称即可。                    rewrite ^/company/(.*)$ /company/index.php/$1;                }        }然后根据自己的路径重启nginx服务器# path/nginx -s reload
时间: 2024-10-12 13:55:41

THINKPHP nginx设置路由为PATHINFO模式的相关文章

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in

LNMP一键安装包+Thinkphp搭建基于pathinfo模式的路由(可以去除url中的.php)

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Nginx/MySQL/PHP).LNMPA(Nginx/MySQL/PHP/Apache).LAMP(Apache/MySQL/PHP)生产环境的Shell程序.同时提供一些实用的辅助工具如:虚拟主机管理.FTP用户管理.Nginx.MySQL/MariaDB.PHP的升级.常用缓存组件Redis.Xca

nginx低版本不支持pathinfo模式,thinkphp针对此问题的解决办法

将一个thinkphp项目从apache环境移到nginx1.2上,怎奈,nginx这个版本默认不支持pathinfo模式 首先,编辑nginx的虚拟主机配置文件 location ~ .*.(php|php5)?$ { #原有代码 } if (!-e $request_filename) {   rewrite  ^(.*)$  /index.php?s=$1  last;   break;    } #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo #如果你不需要用到p

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

修改Nginx解决ThinkPHP不支持PathInfo模式

最精简的Nginx配置 server { listen 80; server_name test.com; charset utf-8; location / { root E:/WWW/test; index index.php; if (!-e $request_filename) { #一定要用(.*)匹配整个URI,包含URI第一个字符反斜杠/ #rewrite ^(.*)$ /index.php?s=$1 last; rewrite ^/(.*)index.php(.*)$ $1/in

nginx中配置pathinfo模式示例

要想让nginx支持PATH_INFO,首先需要知道什么是pathinfo,为什么要用pathinfo? pathinfo不是nginx的功能,pathinfo是php的功能. php中有两个pathinfo,一个是环境变量$_SERVER['PATH_INFO']:另一个是pathinfo函数,pathinfo() 函数以数组的形式返回文件路径的信息;. nginx能做的只是对$_SERVER['PATH_INFO]值的设置. 下面我们举例说明比较直观.先说php中两种pathinfo的作用,

nginx完美支持thinkphp3.2.2(需配置URL_MODEL=>1 pathinfo模式)

来源:http://www.thinkphp.cn/topic/26657.html 第一步:配置SERVER块 server { listen 80; server_name www.domain.com domain.com; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # \.php 只处理动态请求,对于静态资源请求由下面的 location匹配和处理 location ~ \.php { root /da

制作类似ThinkPHP框架中的PATHINFO模式功能(二)

距离上一次发布的<制作类似ThinkPHP框架中的PATHINFO模式功能>(文章地址:http://www.cnblogs.com/phpstudy2015-6/p/6242700.html)已经过去好多天了,今晚就将剩下的一些东西扫尾吧. 上一篇文章已经实现了PATHINFO模式的URL,即我们访问MVC模式搭建的站点时,只需要在域名后面加上(/module/controller/action)即可,很智能化.并且通过new Object时的自动触发函数实现类文件的自动载入,因此只要我们搭

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 这时在浏览器中输入上面所说的输入格