nginx配置 yii2 URL重写规则 SSI配置使shtml
location / {
// 加上红色部分 重写url
try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewrite ^/(.*) /index.php last; } root /usr/share/nginx/html; index index.php index.html index.htm; }
ssi配置
location / {
root html;
#ssi配置开始
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;
#ssi配置结束
index index.html index.htm;
}
1.index
我的理解是默认路径,也就是当找不到文件的时候的一个默认的路径,可以配置多个。
具体的用法稍后说,请先记住这个东西当你找不到其他合适的东西,默认给你分配的。
2.location
这个东西匹配你需要的路径
3.try_files
这个东西是重定向用的,我感觉和index 差不多,不过确实比index 要好用
举个例子:
访问:xf.com/aa
如果我们这么设置,对于这一句的理解是。
try_files $uri $uri/ /index.php?$args;
当nginx 收到你的xf.com/aa ,那么会匹配到
location / {
try_files $uri $uri/ /index.php?$args;
proxy_pass http://www.baidu.com;
}
这里多说一嘴,如果没有合适的匹配,那么就会找index的值。
index.html inde.htm index.php
当找到相对应的文件,就会把你的访问url变成。
xf.com/index.html或者xf.com/index.htm xf.com/index.php 其中一个
这回你明白index了吧
回来我们再说 try_files
当匹配到这项的时候,就开始执行try_files
nginx 回去找有没有 aa这个文件($uri) 如果没有
继续找aa这个目录($uri/) 如果也没有的话就直接
重定向到 /index.php?$args
$args 就是你的url 问号后边的参数
总结:
nginx 获取到url
1.找server_name
2.找locationpipei
如果没有找index默认的文件
如果没有直接404
有的话加上默认的index.* 重新寻找匹配的location
如果有进入执行try_files
3.查找try_files 是否有相应的文件
如果没有直接重定向最后一项
参考
https://blog.51cto.com/13930997/2311716
nginx配置 yii2 URL重写规则 SSI配置使shtml的更多相关文章
- nginx对于Yii2的前后台的配置
虽然是个基础问题,但也折腾了不少时间,记录下来,希望对新手有所帮助.例如我的前台地址yooao.cc,后台地址back.yooao.cc back.yooao.cc是yooao.cc的一个子域名. ...
- Apache下开启SSI配置使html支持include包含
写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...
- 【Apache】apache简单配置URL重写规则
[概述]URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程.举个例子来说,如果通过浏览器进来的URL是index.php?type=news&& ...
- nginx ssi 配置小细节(一)
最近工作需要使用nginx的ssi (server side include)技术,在这里,将使用中的一点心得分享一下,也是一种备忘! 首先,nginx的ssi启用很简单,就只有三个最基本的指令: s ...
- 开启SSI配置使shtml支持include公用的页头页脚
编写编写项目众多静态文件时,能像php等开发语言一样使用include将页面公有的header/footer/sidebar作为公用.独立.单一的文件引入到各页面上,这样修改这些页面公用部分时就能单独 ...
- nginx 配置支持URL HTML5 History 模式 与 设置代理
拾人牙慧:https://segmentfault.com/q/1010000007140360 nginx 配置支持URL HTML5 History 模式 location / { try_fil ...
- Apache下开启SSI配置,使html支持include包含
有的时候,我们的页面有公共的导航栏navbar,公共的脚注footer,那么我们就想把这些公共部分独立成一个html文件,在要引用的地方像引用js,css一样,给包含进来. Apache下开启SSI配 ...
- Linux下Nginx+Tomcat整合的安装与配置
因为nginx处理静态页面的速度很快,并且是免费的,它还可以配置负载均衡的服务器集群来搭建多个tomcat,所以nginx+tomcat是企业搭 建javaee项目很好的选择.nginx主要是通过反向 ...
- nginx配置文件内容详情及基本属性配置
Nginx的配置文件nginx.conf配置详解如下: user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目 ...
随机推荐
- gulp打包js多个文件夹并压缩混淆,编译ES6语法,及多个import依赖由一个入口打包成一个cdn
感觉和webpack的步骤差不多 首先安装gulp:参考上一篇 安装完之后 新建一个文件目录起名 在当前目录下打开cmd 执行:npm init 创建package.json文件 然后安装第一个插件g ...
- PyQt5-QDateEdit的简单使用
使用PyQt5开发图形界面,里面使用日期框,这里把这个QDateEdit组件命名为:beginDate from PyQt5.QtCore import QDate 1.初始化赋值,不设置则默认为20 ...
- Exception in thread "http-apr-8080-exec-1" java.lang.StackOverflowError
Exception in thread "http-apr-8080-exec-1" java.lang.StackOverflowError 可能执行了递归,陷入了死循环 如下我 ...
- apache配置跨域请求代理
1.配置允许跨域请求 Header always set Access-Control-Allow-Origin "*"Header always set Access-Contr ...
- pycharm项目移植过程中遇到的问题
调试中遇到三个问题: 问题1:Error running 'run_all_test': Cannot run program "C:\Users\Administrator\.virtu ...
- echarts 设置默认选中,单选
默认选中 和 不选中 传送门
- C++-怎样写程序(面向对象)
使用编程语言写好程序是有技巧的. 主要编程技术: 1. 编程风格 2. 算法 3. 数据结构 4. 设计模式 5. 开发方法 编程风格指的是编程的细节,比如变量名的选择方法.函数的写法等. 算法是解决 ...
- WEB-INF目录与META-INF目录的作用(转载)
/WEB-INF/web.xml Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则. /WEB-INF/classes/包含了站点所有用的 class 文件,包括 ser ...
- Python | 字符串拆分和拼接及常用操作
一.字符串拆分 str = "hola ha1 ha2 china ha3 " # partition 从左侧找到第一个目标,切割成三组数据的[元组] str1 = str.par ...
- python基础数据类型 数据类型
数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...