1.nginx的try_files指令 ,核心功能是替代rewrite,并且比rewrite更强大的是可以按顺序查找文件是否存在,如果文件都找不到才会执行最后的重定向
解决的问题是,如果一个网站的部署是如下结构:

css/
js/
index.php
login.php
setting.php

2.当有接口的地址是 index.php/article/2 ,这样的path_info模式时,需要隐藏掉index.php,变成/article/2
直接使用rewrite会影响到当前目录的其他文件因为如果访问/login.php ,会被重定向成index.php/login.php,访问目录的时候/css/,会被重定向成index.php/css/

3.此时使用try_files就能解决,它会先检查前两个是否存在,如果存在就直接访问文件和目录,如果不存在才会执行后面的重定向

try_files $uri $uri/ /index.php?q=$uri&$args;

4.当部署wordpress在网站子目录时 /wordpress/ ,可以配合location,实现上面的try_files重定向到/wordpress/ 目录里的index.php上
location /wordpress {
try_files $uri $uri/ /wordpress/index.php?q=$uri&$args;
}

5.$uri变量和$request_uri变量的区别,

例如访问这个路径 www.baidu.com/document?x=1
$uri是 /document
$request_uri是  /document?x=1 带参数

转载于:https://www.cnblogs.com/taoshihan/p/11403857.html

[Linux] nginx的try_files指令实现隐藏index.php的重写相关推荐

  1. nginx中的try_files指令解释

    try_files 指令的官方介绍比较让人摸不着头脑,经网上一番总结查看,try_files最核心的功能是可以替代rewrite. try_files 语法: try_files file ... u ...

  2. Nginx try_files 指令

    官方文档 http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files try_files 用于指定文件的查找规则,可以配置多个规 ...

  3. nginx多站点配置,以及隐藏index.php

    一.nginx多站点的配置 1.默认安装的nginx在/etc/nginx下,则执行以下命令 sudo mkdir /etc/nginx/conf.d 这个conf.d作为我们放置多站点的目录 图中的 ...

  4. iis thinkphp隐藏index.php,thinkphp 隐藏index.php iis apache nginx

    这篇文章介绍的内容是关于thinkphp 隐藏index.php iis apache nginx ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 针对不同的web服务器,iis7 a ...

  5. linux nginx 配置优化,nginx 配置优化指令

    worker_processes worker_processes指令是用来设计Nginx进程数,官方默认设为1,赋值太多了,将会对系统IO影响效率,降低Nginx服务器性能.但是为了让多核CPU能够 ...

  6. nginx index.php 隐藏,nginx隐藏index.php的设置方法

    nginx隐藏index.php的设置方法2020-07-07 12:54:38 nginx隐藏index.php的方法:首先找到并打开"nginx.conf"配置文件:然后添加语 ...

  7. JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx

    JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx 1. MVC ...

  8. linux+nginx+mysql+php系统修改文件上传大小限制

    linux+nginx+mysql+php系统修改文件上传大小限制 对于LNMP框架的一些网站,上传文件大小会受到多个方面的限制,一个是nginx本身的限制,限制了客户端上传文件的大小,会报错&quo ...

  9. 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的

    在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...

最新文章

  1. 把一个表中的数据插入到另一个表
  2. 装上后这 14 个插件后,PyCharm 能飞起
  3. 【Linux】一步一步学Linux——kill命令(124)
  4. Zuul:路由和高可用小结
  5. C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码
  6. 金融风控模型前世今生
  7. 优秀项目经理应具备的素质和能力
  8. c语言作业汽车加速,C语言求车速
  9. c语言 16 16 字库,用C语言编程16点阵字库
  10. 离散数学 之 命题公式的主析取合取范式(java实现)
  11. 生于80年代,穷于10年代,败于90后
  12. 深度学习之图像分类(二十五)-- S2MLPv2 网络详解
  13. MEM/MBA 写作-论证有效性分析(09)逻辑缺陷-误用百分数滑坡谬误
  14. 超级计算机神威太湖之光图片,超级计算机“神威·太湖之光”世界最快
  15. hihocoder 1272 买零食
  16. Paddle-NEAT——飞桨进化神经网络组件
  17. 智汀智能家居普及篇——智能家居必备的功能控制系统
  18. 第一本书 第九章 使用对象吃货联盟
  19. 程序员,你的薪资和劳动价值成正比吗?
  20. 【渝粤教育】国家开放大学2018年春季 8664-22T文书档案管理 参考试题

热门文章

  1. MySQL中group_concat()函数用法总结
  2. 闲置硬盘自制nas私有云_闲置U盘不用扔,教你一招变云盘,随时随地备份数据、访问私有云...
  3. 数据类型不匹配_笔记 | 自学Python 06:数据类型之列表
  4. vscode 新建cpp文件_利用vscode搭建c
  5. python 修饰器_python中用修饰器进行异常日志记录
  6. 【若依(ruoyi)】模态框
  7. linux kill进程
  8. react 动态路 嵌套动子路由_react 路由动态加载组件,实现按需加载
  9. php 日志函数,php 写入日志函数
  10. 小米5x的Android,小米5X支持NFC功能吗? 小米5X有nfc吗