位置: 编程技术 - 正文

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

  • 创业投资企业可以按照其对中小高新技术企业投资额的
  • 小规模纳税人收到专票可以抵扣吗
  • 非征税期抄税如何解决
  • 预提费用的附件怎么做
  • 为什么开发成本资本化
  • 期末资产负债
  • 手机超过多少钱可以报警立案
  • 销售自己使用过的物品
  • 社保基金会割肉操作吗
  • 持有至到期投资是什么意思
  • 用于本企业职工的福利应当征收消费税吗
  • 未分配利润可以转盈余公积吗
  • 停车费要交税吗
  • 不交增值税就不交企业所得税吗
  • 银行代扣印花税
  • 上海2018房产税实施细则
  • 税法关于劳务费用的规定
  • 增值税计算方法有哪些
  • 原材料增值税怎么算
  • 物业公司代收电费会计分录
  • 税金及附加是否设二级科目
  • 公司必须购买税控设备吗
  • 跨年度错账更正方法
  • 酒店住宿收入确认原则的条件
  • 商品促销有关问题
  • word中的引号方向不对
  • 路由器突然不能上网了显示红灯
  • 保护电脑安全的主要方式
  • 从银行提取备用金填制什么凭证
  • 细说linux
  • 商标转让过程中公司转让
  • 失控发票受票方的责任
  • 现在我们来看看windows中的新增内容
  • 预交税款分录
  • 居民企业应纳税额
  • PHP:pg_connect()的用法_PostgreSQL函数
  • nodejs怎么降低版本
  • php memory_get_usage
  • 用php写的一个冒号的句子
  • 浅谈如何培养孩子的注意力
  • php输出表格css
  • 常见浏览器兼容软件
  • 编写jsp程序,实现简易计算机
  • vite2.0 vue
  • 桥闸通行费发票上注明的金额含税吗
  • 工程结算审计
  • 裁员补偿金如何合理避税
  • 出口退税转内销还是转免税好
  • 财务报表的作用包括?
  • mysql大分页优化
  • 厂区地面硬化施工方案
  • 一般纳税人购销合同印花税怎么算
  • 不良品怎么入账
  • 增值税起征点有多少
  • 为什么股票配资的都在境外交易
  • 资产负债率比率
  • 教育经费支出
  • mysql8 表分区
  • mysql通过find_in_set()函数实现where in()顺序排序
  • mysql服务自动停止运行
  • centos编译器
  • win8系统如何打开摄像头
  • Win10系统的电脑可装Wlin7系统吗
  • win8系统怎么到桌面
  • hyper安装win7
  • win8.0升级win8.1
  • javascript 作用域
  • jquery判断控件是否存在
  • nodejs后端教程
  • linux中xargs用法
  • 调用m1方法
  • python 列表排序 中文
  • python的math模块只有pass
  • unity c++ dll
  • 关闭计算机盖的功能
  • 税务局航天信息的操作流程
  • 支付宝登录电子社保卡显示已被其他账号登录
  • 在监狱要花钱吗
  • 湖北省税务局税务纪检委员时间
  • 烟叶税的税收优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设