博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lnmp1.3 配置pathinfo---thinkphp3.2 亲测有效
阅读量:6452 次
发布时间:2019-06-23

本文共 2773 字,大约阅读时间需要 9 分钟。

lnmp1.3环境下配置pathinfo模式试了很多方法,都以失败告终,博主被这个问题困扰了很久,终于解决了!现记录如下:

1、打开php.ini

 

通常该文件在 /usr/local/php/etc/php.ini 

vi /usr/local/php/etc/php.ini

找到 cgi.fix_pathinfo默认为0,修改为1,保存退出; 

2、打开nginx.conf配置文件

 

通常该文件在 /usr/local/nginx/conf/nginx.conf 

vi /usr/local/nginx/conf/nginx.conf

(1)找到 include enable-php.conf;注释掉,在下面一行添加include enable-php-pathinfo.conf; 

 
(2)添加以下代码,并保存退出

1 #Rewrite模式 2 location / {  3                 index  index.htm index.html index.php; 4                 if (!-e $request_filename) { 5                         rewrite  ^/(.*)$  /index.php/$1  last; 6                         break;  7                 }  8         }  9  #pathinfo模式10 location ~ \.php/?.*$ { 11                 root        /home/wwwroot/default;12                 fastcgi_pass   127.0.0.1:9000;13                 fastcgi_index  index.php;14                 include        fastcgi.conf;15                 #设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量16                 set $fastcgi_script_name2 $fastcgi_script_name;17                 if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {18                         set $fastcgi_script_name2 $1;19                         set $path_info $2;20                 } 21                 fastcgi_param   PATH_INFO $path_info;22                 fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;23                 fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;24         }

 

 

(3)重启nginx 

service nginx restart

这样就可以用pathinfo模式访问了 

提示:项目中必须设置’URL_MODEL’ => 1才能用pathinfo模式访问 
当设置’URL_MODEL’ => 2时,也可以用Rewrite模式访问

3、贴出完整server(截止此处已经成功,下面代码仅供参考)

server    {        listen 80;        #listen [::]:80 default_server ipv6only=on; server_name www.lnmp.org; index index.html index.htm index.php; root /home/wwwroot/default; #error_page 404 /404.html; #include enable-php.conf; include enable-php-pathinfo.conf; #Rewrite模式 location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } #pathinfo模式 location ~ \.php/?.*$ { root /home/wwwroot/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #加载Nginx默认"服务器环境变量"配置 include fastcgi.conf; #设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量 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; } location /nginx_status { stub_status on; access_log off; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/access.log; }

转载于:https://www.cnblogs.com/phper12580/p/8025149.html

你可能感兴趣的文章
KVM虚拟化(1)
查看>>
部署SCVMM2012 SP1 集群(1)---部署AD
查看>>
我的友情链接
查看>>
mysql查询数据库大小
查看>>
Httpd 2.2常见配置
查看>>
Centos6.5 源码搭建nginx1.4.7
查看>>
“帮我调试个bug好么”12星座程序猿的反应。。。
查看>>
MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
查看>>
比特币事件是否证明中国网络安全不堪一击?
查看>>
软件测试经验谈
查看>>
Domino下通过web方式管理服务器信息
查看>>
整数转换为字符
查看>>
Virtualbox上面UEFI/GPT安装Archlinux20160222
查看>>
vCloud Director Enterprise Cloud 5.5部署(八)
查看>>
网站优化之前要准备的工作
查看>>
Java并发编程:volatile关键字解析
查看>>
运维自动化之zabbix (web)(8)
查看>>
php时间处理函数
查看>>
SQL最常用基础语句
查看>>
js动态设置margin
查看>>