tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)

tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 pathInfo)

 

对于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

 

 tp5 url 线上访问 在nginx 上 出现404错误,解决办法(1.80nginx 配置 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://javaforall.net/113830.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker部署gitlab[通俗易懂]

    docker部署gitlab[通俗易懂]这篇文章用来记录下我在使用docker部署gitlab时候遇到的一些坑。先介绍下我的环境:阿里云的轻量应用服务器:2核4G(好像最低要求配置,之前用2核2G的部署,直接给内存溢出),centos7.6第一步:安装docker具体安装步骤参考的是docker官方文档,主要就几个步骤就可以完成安装。1、…

    2022年10月7日
    4
  • 【shell案例】学员管理系统「建议收藏」

    【shell案例】学员管理系统「建议收藏」前言学员管理系统涉及到学员的增删改查,这是一个综合性比较强的项目,在所有的编程语言里都会有不同版本的学员信息管理系统,难度适中效果截图学员管理系统源码#!/bin/bash##随机点名册whiletruedo echo”学生随机点名系统” echo”1.添加学员名单” echo”2.遍历学员名单” echo”3.随机点名” echo”4.删除某个学员的信息” echo”5.退出” read-p”请输入你要选择的序号:”num case

    2026年2月5日
    5
  • 十天学会php第五天

    十天学会php第五天

    2022年1月11日
    42
  • 大数据时代的大数据管理发展,经历了哪几个阶段?

    大数据时代的大数据管理发展,经历了哪几个阶段?近几年,在大数据管理不断发展的过程中,也取得了一定的成绩。但是,大数据管理也经历了一个漫长的过程,主要经历的人工、文件、数据库等管理阶段。同时,随着大数据时代的大数据不断增加,所管理的范围和环境也在不断的变化。并且,在大数据管理不断发展的过程中,一些管理问题逐渐的暴露出来,为大数据管理的发展带来了新的挑战和机遇,下面就大数据管理的发展历程,管理中存在的不足进行简要的分析和阐述。1.大数据时代的…

    2022年5月1日
    49
  • EnterpriseLibrary 6.0(微软企业库6.0学习笔记) 之Data Access Block 配置和获取链接字符串

    EnterpriseLibrary 6.0(微软企业库6.0学习笔记) 之Data Access Block 配置和获取链接字符串EnterpriseLibrary的特点是快速开发,融合了微软工程师多年的经验,现在在微软内部有专门的一个小组在完善EnterpriseLibray,最近的更新时间是April2013。相关链接

    2022年7月2日
    28
  • Node.js 安装配置

    Node.js 安装配置

    2021年10月16日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号