位置: 编程技术 - 正文

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

  • 利息收入交所得税吗
  • 专票没有抵扣联可以作废吗
  • 开发票产品名称
  • 增值税负数发票可以作废吗?
  • 弥补以前年度亏损从哪里取数
  • 增值税发票验证
  • 月末应付职工薪酬计算方法
  • 果蔬免征增值税有哪些
  • 个体工商户在税法规定的享有免税优惠的期限内
  • 企业自主招聘有编制吗
  • 金融公司一般有哪些业务
  • 委托加工物资增值税怎么计算
  • 进项发票已入账抵扣后开负数红冲怎么处理
  • 应纳税所得额怎么理解
  • 设备升级改造如何开发票
  • 申请办理银行承兑流程
  • 事业单位是否属于中小企业
  • 法院收到诉讼费多久可以收到传票
  • 上年预收账款算不算本年收入
  • 已经提完折旧的设备改造
  • PHP:mb_convert_encoding()的用法_mbstring函数
  • vs code no such file or directory
  • 公司试乘试驾车卖掉在增值税哪个模块里开具
  • 营业利润投资收益是借方还是贷方
  • 出租车车票可以出卖吗
  • 大金中央空调面板图解
  • PHP:move_uploaded_file()的用法_Filesystem函数
  • 不动产出租管理办法
  • pytorch入门教程(非常详细)
  • 关于固定资产管理
  • 固定资产处理步骤
  • 长期股权投资的核算方法
  • 微信小程序开发平台
  • 一文搞懂兰州简史
  • php对象是值传递还是引用传递
  • php生成guid
  • 收到利息收入计入什么科目
  • 如何开具电子发票广东
  • 将织梦dedecms转换到wordpress
  • 一般纳税人销售旧货可以开专票吗
  • 重复报销怎么写情况说明
  • 金税四期介绍 王军
  • 软件开发企业怎么结转成本
  • 跨年暂估成本如何冲销
  • 持有至到期投资减值准备
  • 企业发行债券的优点有哪些
  • 车间管理人员的福利费计入什么科目
  • 会计利润调增调减项目
  • 年度所得税费用
  • 冲销主营业务收入怎么做分录
  • 调整以前年度销项税额的分录
  • 提供劳务结转的成本计入什么科目
  • 企业购入投资性房地产
  • 固定资产的计提折旧方法有哪些
  • 货款还没收到有违法所得吗
  • 展示费是业务宣传费吗
  • ubuntu右键菜单
  • kvm虚拟化网络配置
  • RedHat 9.0下Apache+PHP+MySQL服务器安装配置
  • dvd-rom drive是什么意思
  • mac和iphone互动
  • linux系统的配置
  • win7由于所要求的文件丢失或损坏
  • win8出现蓝屏怎么修复
  • win10无法打开wifi列表
  • win10总连不上网
  • ES6 javascript中class类的get与set用法实例分析
  • qt5.15教程
  • Android游戏开发教程
  • 如何获取硬盘所有文件的列表
  • 猫的游戏解说
  • 安卓开发框架mvvm
  • js 运算符
  • android 重启app
  • bootstrap日期控件背景为白
  • 水电费收税
  • 个人出租商业用房开票税率
  • 如何开具分包发票流程
  • 五证合一后工商变更完还要税务变更吗
  • 中国古代的税收制度的演变
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设