文档章节

tp5 url 线上访问 在nginx 上 出现404错误,解决办法

15834278076
 15834278076
发布于 2018/09/04 14:53
字数 380
阅读 179
收藏 2

对于ThinkPHP的URL访问路劲如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支持的pathinfo路劲的,导致你在thinkPHP5上面测试的时候,输入相应的URL也不会提示模块名,控制器名或者方法名错误,而是出现一个404找不到的错误,那是因为Nginx无法解析这样的链接,下面讲讲如何配置:

 

首先找到   nginx.conf  

 

1、只实现pathInfo

  笔者的位置在   /usr/local/nginx/conf 下

   vim /usr/local/nginx/conf/nginx.conf

location ~ \.php {    #去掉$
         root          H:/PHPServer/WWW;  笔者这里默认是 html;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句
         fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
    }

这样就实现了nginx 支持pathInfo

2、实现完全支持tp5 隐藏index.php 以及支持 pathinfo     栗子:

server {    
            listen       8082;    
            server_name  localhost;    
            charset utf-8;    
            access_log  logs/host.access.log  main;    
            root /usr/local/nginx/html/thinkphp/public;    
            index  index.html index.htm index.php;    
            location / {    
                if (!-e $request_filename) {    
                    rewrite ^(.*)$ /index.php?s=$1 last;    
                    break;    
                }    
            }    
            error_page   500 502 503 504  /50x.html;    
            location = /50x.html {    
                root   html;    
            }    
            location ~ \.php$ {    
               fastcgi_pass   127.0.0.1:9000;    
               fastcgi_index index.php;    
               include fastcgi_params;    
               set $real_script_name $fastcgi_script_name;    
               if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {    
                   set $real_script_name $1;    
                   set $path_info $2;    
               }    
               fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;    
               fastcgi_param SCRIPT_NAME $real_script_name;    
               fastcgi_param PATH_INFO $path_info;    
            }    
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {    
                expires 30d;    
                access_log off;    
            }    
            location ~ .*\.(js|css)?$ {    
                expires 7d;    
                access_log off;    
           }    
    }

本文转载自:https://www.cnblogs.com/lxwphp/p/7728457.html

15834278076
粉丝 0
博文 116
码字总数 26131
作品 0
太原
程序员
私信 提问
【转】AngularJS去掉的URL里的#号

原文:http://blog.fens.me/angularjs-url/ AngularJS去掉的URL里的#号 AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统。angularjs是由Google团队开发的一款...

iNiL0119
2016/11/18
27
1
在虚拟机部署tp5的框架报错404及验证码出不来的解决思路

运行环境介绍 分开安装了apt-get install nginx php mysql 问题一:报错404 Not Found 解决办法:location / { try_files $uri $uri/ =404; tryfiles $uri $uri/ /index.php?$querystring; ......

15834278076
2018/12/07
40
0
Linux+Nginx环境引入css文件不起作用

在html里引用css文件没起作用,环境是本地虚拟机Linux+Nginx,查看源代码的路劲也对了,但是Nginx报404错误。下面是Nginx监听配置,其他的没有配: 不管是tp5框架还是ci框架,引用的css都不起...

随风丶默
2018/04/25
1K
2
CodeIgniter在nginx下rewrite配置问题

昨天在服务器上安装了Codeigniter,同时修改了nginx相关配置,ci可以正常运行了。 但今天在做表单提交时又出现了问题,问题如下: 在我之前的rewrite配置下,ci的正常url为http://localhost/...

墨梅
2016/03/11
215
0
nginx File not found 错误

使用php-fpm解析PHP,"No input file specified","File not found"是令nginx新手头疼的常见错误,原因是php-fpm进程找不到SCRIPT_FILENAME配置的要执行的.php文件,php-fpm返回给nginx的默认......

李狗蛋丶
2016/11/11
71
0

没有更多内容

加载失败,请刷新页面

加载更多

分享一个 pycharm 专业版的永久使用方法

刚开始接触Python,首先要解决的就是Python开发环境的搭建。 目前比较好用的Python开发工具是PyCharm,他有社区办和专业版两个版本,但是社区版支持有限,我们既然想好好学python,那肯定得用...

上海小胖
31分钟前
4
0
Spring Cloud Alibaba 实战(二) - 关于Spring Boot你不可不知道的实情

0 相关源码 1 什么是Spring Boot 一个快速开发的脚手架 作用 快速创建独立的、生产级的基于Spring的应用程序 特性 无需部署WAR文件 提供starter简化配置 尽可能自动配置Spring以及第三方库 ...

JavaEdge
今天
7
0
TensorFlow 机器学习秘籍中文第二版(初稿)

TensorFlow 入门 介绍 TensorFlow 如何工作 声明变量和张量 使用占位符和变量 使用矩阵 声明操作符 实现激活函数 使用数据源 其他资源 TensorFlow 的方式 介绍 计算图中的操作 对嵌套操作分层...

ApacheCN_飞龙
今天
8
0
五、Java设计模式之迪米特原则

定义:一个对象应该对其他对象保持最小的了解,又叫最小知道原则 尽量降低类与类之间的耦合 优点:降低类之间的耦合 强调只和朋友交流,不和陌生人说话 朋友:出现在成员变量、方法的输入、输...

东风破2019
昨天
25
0
jvm虚拟机结构

1:jvm可操作数据类型分为原始类型和引用类型,因此存在原始值和引用值被应用在赋值,参数,返回和运算操作中,jvm希望在运行时 明确变量的类型,即编译器编译成class文件需要对变量进行类型...

xpp_ba
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部