浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法


Posted in PHP onOctober 12, 2019

1,心血来潮,把ThinkPHP项目部署到了nginx上,以上是在apache上跑的。突然发现nginx不支持pathinfo功能,难怪在TP中调怎么都没管用。

2,开始上文件了,比网上其他一些杂的好多了:

server { 
listen 80; 
#listen [::]:80; 
server_name www.tp.com tp.com; 
index index.html index.htm index.php default.html default.htm default.php; 
root /home/wwwroot/www.tp.com; 
include index.php.conf; 
#error_page 404 /404.html; 
#include enable-php.conf; 
include enable-php-pathinfo.conf; ##这个地方需要说明下:我用的是lnmp一键安装包,可能这个pathinfo.conf配置文件名有些不一样, 
## 有文件名为enable-php.conf,也有enable-php-pathinfo.conf 
## 目录在/usr/local/nginx/conf 可以自己去看看,带有pathinfo 
#error_page 404 /404.html

 location /app/ {  #因为我的项目入口文件是放到app目录中的(app目录与Think目录同级),这样实现了隐藏index.php功能         
  if (!-e $request_filename) {  
  rewrite ^/app/(.*)$ /app/index.php/$1 last;
  break;
  }
 }
 location ~ ^(.+\.php)(.*) {
try_files $uri =404; 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_pass unix:/run/php5-fpm.sock; 
fastcgi_index index.php; 
include fastcgi_params; 
# include fcgi.conf;

set $real_script_name $fastcgi_script_name; 
set $path_info “”; 
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; 
} 
access_log /home/wwwlogs/www.tp.com.log; 
}

直接上我的配置文件截图吧:

浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

我的目录结构

浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

看,现在可以支持以下路由了,pathinfo以及rewrite隐藏index.php入口文件

浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法

以上这篇浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
PHP会话控制:Session与Cookie详解
Sep 27 PHP
PHP的命令行命令使用指南
Aug 18 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
yii框架搜索分页modle写法
Dec 19 PHP
PHP+JQUERY操作JSON实例
Mar 23 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
详解php协程知识点
Sep 21 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 #PHP
laravel5环境隐藏index.php后缀(apache)的方法
Oct 12 #PHP
解决laravel(5.5)访问public报错的问题
Oct 12 #PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 #PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 #PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 #PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 #PHP
You might like
PHP4引用文件语句的对比
2006/10/09 PHP
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python实现的归并排序算法示例
2017/11/21 Python
python求质数列表的例子
2019/11/24 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
生产内勤岗位职责
2013/12/07 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
阳光体育活动总结
2014/04/30 职场文书
工作会议方案
2014/05/21 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
委托书英文
2015/01/28 职场文书