位置: 编程技术 - 正文

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批量上传)

  • 产权式酒店规定
  • 汇算清缴计提所得税在哪个月
  • 核定征收企业所得税应税所得率
  • 购车增值税可以抵扣多少
  • 公司产品的打样费入什么会计科目
  • 对公账户是不是实时到账
  • 不征税发票能报税吗
  • 资产负债表里的存货包括哪些科目
  • 企业所得税成本费用大于发票金额的原因
  • 会计报废怎么处理
  • 房租收到专票账务处理
  • 未开票确认收入分录怎么做
  • 多计提的销售费用冲销
  • 劳务派遣公司收取劳务费应开具什么票
  • 日常生活中各种仪式
  • 分期付款方式购物划算吗
  • 公司投资股票有风险吗
  • 抵债的货物按什么算增值税
  • 一般纳税人按简易计税办法计算增值税,是否能节税?
  • 工商营业执照变更流程
  • 增值税进项税额转出的账务处理
  • 关于营改增发票开具的热点问题
  • 公司帮别人代缴社保
  • 协会会费计入什么会计科目二级
  • 跨年度暂估未取得发票如何处理
  • 预收账款可计入
  • NPFMSG.exe - NPFMSG是什么进程 有什么用
  • 不用命令打开组策略
  • win11wifi功能消失了
  • ajax无刷新更新数据
  • PHP:iconv_strrpos()的用法_iconv函数
  • 借款凭证会计分录是什么
  • 养老院护工5.8k包吃住
  • laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
  • 安斯海滩上的角眼沙蟹,塞舌尔普拉兰岛 (© Ingo Schulz/Offset by Shutterstock)
  • php怎么传递参数
  • 进货开了发票也写了购销合同要交印花税吗
  • php 邮件发送
  • video.js教程
  • mfcc特征提取过程
  • 无偿划转的资产交什么税收
  • 员工辞退补偿金扣个税吗
  • 子公司分公司和办事处账务上的区别有哪些
  • 计提的坏账准备计入什么科目
  • mongodb性能优化方案有哪些?
  • linux mysql忘记密码的多种解决或Access denied for user 'root'@'localhost'
  • 经营一家淘宝店铺,自然就应该做好
  • 对公户单笔转账有限额吗
  • 个体工商户生产经营税
  • 税控系统技术维护费全额抵扣分录
  • 工装费用制度
  • 信用减值损失转回的会计处理
  • 农业种植补贴需要审批吗
  • 建设期贷款利息定义是什么
  • 工作失误扣工资的规定是什么
  • 资金退回怎么记账
  • 外贸公司收取客户的费用
  • 亏本处理产品怎么做账
  • 零申报是不是什么都不用填
  • 咨询服务费如何合理避税
  • 来料加工的特点包括
  • 进项税大于销项税需要交增值税吗
  • 数电怎么增加开票员
  • 如何查看solaris版本
  • centos设置开机启动项
  • linux中nfs的配置
  • Linux系统怎么用梯子
  • win10不停的自动重启
  • uiview和calayer关系
  • perl中use的用法
  • linux哪些方法可以查看命令的详细信息
  • eclipse窗口显示设置
  • 熟悉的拼音
  • js取反运算符
  • python语言解析
  • unity shader视频教程
  • javascript基础题目
  • 消费税是由消费者完全负担的税种
  • 中国进口0号柴油价格
  • 财政法和经济法的关系
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设