位置: 编程技术 - 正文

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

  • 税务局开票需要交钱吗
  • 个税计算方法和规定
  • 销售净收入咋算
  • 提取法定盈余公积是从净利润中提取吗
  • 股权投资公司属于金融企业吗
  • 合并报表是按年还是按月
  • 小规模纳税人怎么变成一般纳税人
  • 小规模纳税人冲红退税吗
  • 销售已计提完折旧的固定资产
  • 企业减免的所得税税率
  • 资产负债表的日期可以是1月1日吗
  • 代销商品会计分录步骤
  • 企业租赁集体土地种植经济林如何补偿
  • 合作建房分配比例 如何确定
  • 公司广告法违规交不起罚款怎么办
  • 固定资产发票怎么入账
  • 来料加工复出口增值税政策
  • 营改增后房地产开发企业需要交哪些税?
  • 旅行社开具的发票是不都得写旅游服务
  • 维护费开的普票能全额抵扣吗?
  • 增值税滞留票产生的原因及处理办法
  • 购进货物作为优秀员工的奖励是否可以进项抵扣?
  • 售后返租税收规定
  • 个人所得税减免申请
  • 实收资本里的钱怎么做账
  • 生活用品发票可以报销吗
  • 业务招待费进项税额转出
  • 工会筹备金如何补报
  • 金蝶k3迷你版年度结账
  • 事业单位的账务
  • 购货方跨月销项负数发票如何做账?
  • 暂估入库有时间限制吗
  • 全月应纳税所得额什么意思
  • 报销怎么打
  • 如何在Windows11上下载和安装 Minecraft
  • win11系统打不出顿号
  • php的缓存文件是什么格式
  • 公司有个税怎么交
  • vue自定义弹窗带有遮罩层
  • 前端工程搭建
  • 应收账款确认坏账损失
  • 先计提所得税还是先结转成本
  • 营改增之后增值税怎么算
  • 暂估入库的金额与发票金额不一样
  • js array.fill
  • 企业捐款给公益组织
  • 票据背书转让会计处理
  • 纳税信用等级区别在哪
  • SQL2005 provider: 命名管道提供程序 error: 40 无法打开到 SQL Server 的连接
  • mysql数据表存储引擎
  • 企业所得税季度申报表季度平均值
  • 账面价值与计税基础的区别和联系
  • 开具发票后什么情况下可以零申报?
  • 年终奖能算在工资里吗
  • 产品生产完工入库
  • 哪些资产减值损失确认过后是可以转回的
  • 可以按日期排序
  • Win10预览版更新弹窗如何关闭
  • Centos安装dig命令
  • linux dd测试
  • win10系统升级后桌面图标变大
  • centos做bond4
  • linux各种重定向及其含义
  • win8.1无线
  • 延长药品使用时间的方法
  • win7 netplwiz
  • python挑战
  • 批处理删除空文件夹
  • 文章标题作用答题模板
  • Unity3D游戏开发(第2版)
  • 代码行数不够了,怎么弄多行
  • python模板引擎开发
  • jquery console.log
  • 增值税月报怎么报
  • 个人所得税父母双方专项扣除
  • 昆山国税局上班时间
  • 江西省税务总局官网
  • 如何查询企业是小规模还是一般
  • 小规模纳税人企业所得税怎么征收
  • 山西房产税征收标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设