位置: 编程技术 - 正文

Nginx下ThinkPHP5的配置方法详解(nginx配置tp5)

编辑:rootadmin

推荐整理分享Nginx下ThinkPHP5的配置方法详解(nginx配置tp5),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nginx tp5,nginx使用php,thinkphp5 nginx配置,nginx thinkphp,nginx配置tp5,nginx配置tp5,thinkphp5 nginx配置,thinkphp5 nginx配置,内容如对您有帮助,希望把文章链接给更多的朋友!

本文主要给大家介绍了关于Nginx下ThinkPHP5的配置方法,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

url里public目录的隐藏

出于安全的考虑,TP5的入口文件改成放在public下了,因为这样的话能防止被恶意用户访问到“/thinkphp/”、“/vendor/”等等这些目录下的文件。所以当你以之前的习惯将网站documentroot配置为项目根目录的时候就会需要在url后面加上/public/来访问。当然可能也会有童鞋把入口文件放回到根目录下,然后还是以之前3.x版那样的形式访问了。

但是很显然,这么做并不是那么的科学。

假设项目目录为“/web/wwwroot/augsky.com”,那么我们在网站的nginx配置文件里面将root配置为:

但是一定要记得将open_basedir设置为上一级项目的根目录下,不然应用会没有权限调用除public目录下的其他文件,网站会报无法访问。(open_basedir的配置默认在php.ini里面,但如果是多个虚拟机环境的话有可能会在各个网站的user.ini文件里,这个要根据自己的实际情况来。)具体配置如下:

隐藏入口文件index.php:

说一下try_files:

try_files支持多个参数,每个参数代表一个文件,系统将按顺序检查这些文件是否存在,存在就直接执行,斜线“/”结尾代表目录,若都不存在,则会重定向到最后一个参数指向的文件或者返回指定的http状态码。

pathinfo配置

Nginx下ThinkPHP5的配置方法详解(nginx配置tp5)

在配置文件里面增加这一段(如果你是lnmp一键包用户,请略过这一段往下翻):

上面需要说明的是fastcgi_pass的设置,这个得根据你实际的php版本和安装目录来设定。

好,做完这些之后,保存,重启nginx和php就能生效了。如果你是lnmp一键包用户的话不用上面这样设置,往下面看:

lnmp一键包pathinfo的设置

其实lnmp一键包里面的pathinfo军哥已经都写好了,我们只需要把include enable-php.conf;修改成include enable-php-pathinfo.conf;然后重启lnmp就搞定了。

就是这样简单。下面顺便附上在url里隐藏模块的方法

url隐藏默认模块index

很简单,在入口文件里面定义常量BIND_MODULE为你使用的模块就好了,以默认的index为例:

这样,在url里面不会在有模块名这一级目录了。要知道,层级少一些的url对SEO是有好处的。

下面是nginx里面location的匹配规则

Nginx location的匹配规则

~ 波浪线表示执行一个正则匹配,区分大小写 ~* 表示执行一个正则匹配,不区分大小写 ^~ ^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 = 进行普通字符精确匹配 @ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

location 匹配优先级

= 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。 普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。 ^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。 最后匹配理带有"~"和"~*"的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。

总结

标签: nginx配置tp5

本文链接地址:https://www.jiuchutong.com/biancheng/291036.html 转载请保留说明!

上一篇:Laravel 的数据库迁移的方法(laravel sqlserver)

下一篇:TP3.2批量上传文件或图片 同名冲突问题的解决方法(php批量上传)

  • 土地增值税与增值税
  • 残保金计入管理费用还是营业税金及附加
  • 专款专用需要缴纳企业所得税吗?
  • 固定资产改变用途进项转出
  • 怎么处理未抵扣增值税形成的留抵税额?
  • 分期付款外币采购形成的差异如何做会计处理?
  • 员工出差火车票可以抵扣进项吗
  • 品质问题扣供应商款
  • 股权继承印花税单方交
  • 出纳如何登账
  • 固定资产所取得的成本
  • 没有业务来往可以报税吗
  • 个人出租房屋税率表2023年
  • 金蝶报告
  • 小微企业声明函怎么开
  • 固定资产可以一次计入费用吗
  • 收到的运输发票要交印花税吗?
  • 我的初级备考经历怎么写
  • 中国每年森林火灾造成的损失
  • 个人私家车买卖平台
  • 净利润怎么计入所有者权益
  • 负债清偿损益明细表可以0报么
  • 买免税产品
  • 收到捐赠的固定资产需要折旧吗
  • 对外支付和对外转账
  • 华为手机如何用有线耳机
  • 债券利息收入的分录
  • 企业向个人的借款合同
  • 购买商城购买化肥
  • win10 kb5001567
  • 桌面小工具怎么添加
  • redhat无法进入图形界面
  • 定金签合同能退吗
  • 诉讼费属于什么科目类别
  • PHP aes (ecb)解密后乱码问题
  • PHP:imagecreatefromjpeg()的用法_GD库图像处理函数
  • 企业负担的社保怎么做分录
  • phpstudy访问数据库
  • 挂在树上的小鸟怎么画
  • 注销公司的处理方式
  • nginx安装配置视频
  • ip6tables-save命令 保存ip6tables表配置
  • elasticsearch基本概念
  • 宝塔怎么做?
  • 机动车发票冲红太多会怎么样
  • 安全生产责任险是强制险吗
  • mac node-gyp
  • 合同资产科目包含增值税吗
  • 税控盘上月未清卡去税务带什么
  • 用房子贷款印花税怎么算
  • sqlserver2005使用教程
  • 发放股票股利如何影响计算基本每股收益
  • 投资性房地产从成本模式转为公允价值模式
  • 购销供应商
  • 跨年度的银行未入账如何处理
  • 工程施工借款如何做会计分录
  • 递延收益的会计核算
  • 企业购置软件的会计处理
  • 建账的基本流程图
  • 记账簿的目的在于为企业
  • mysql查询条件不区分大小写
  • MySQL 5.7.18 release版安装指南(含有bin文件版本)
  • linux的日志文件
  • linux临时目录在哪
  • 永恒之塔改注册表什么意思
  • rdesktop命令
  • xp怎么安全模式
  • 苹果笔记本安装win10
  • win1020h2版好不好
  • centos 安装
  • win7怎么看电脑ip地址
  • win 7关闭睡眠
  • 批处理循环执行批处理
  • shell字符串比较相等
  • jquery 图片放大预览
  • python计算文件大小
  • js函数全局变量
  • 迅雷继续下载
  • js 工作流
  • 加强税务系统党委全面监督工作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设