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; 工作进程:数目 ...
随机推荐
- java 学习(day2) 时钟类
看过python的面向对象,所以入手java总的来说还是比较快的. 看视频学习之后写了一个简单的时钟 一个时钟有两部分组成小时和分钟.再大一些还有月,日. 分析一下就是,上述这些属性到达一个值之后,就 ...
- 获取URL 地址传值 防止乱码
//页面传值 function a() { var usernamelogin = $("#LoginNamelbl").text(); location.href =" ...
- HTML div标签
看成一个 纯净的箱子吧.....啥属性都没有....默认宽度100% 高度0高度是 按DIV里的 内容而变高也可以在 CSS里 设置 宽高....DIV就是 典型的 标签.. P UL LI 等 标签 ...
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) B Box
#include<bits/stdc++.h> using namespace std; ]; ]; int main() { int total; cin>>total; w ...
- Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) A Math Problem
//只要从所有区间右端点的最小值覆盖到所有区间左端点的最大值即可 #include<iostream> using namespace std ; int x,y; int n; int ...
- 10.3.4参数绑定 bind
Count_if算法,类似find_if,此函数接受一对迭代器,表示一个输入范围,还接受一个谓词,会对输入范围中的每个元素执行.Count_if返回一个计数值,表示谓词有多少次为真. 使用bin ...
- linux 扩展内存
一.逻辑卷创建使用 https://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.html fdisk -l pvcreate ...
- 调用系统计算器n次
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void main1(){ int n ...
- 剑指offer 面试题. 按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 方法1: 正常层次遍历,利用普通队列.逢 ...
- mysql查询速度慢的分析和解决
一.定位执行慢的sql,如2秒内没执行完的抽取出来 show engines;查看慢查询时间show variables like 'slow%';查看设置多久是慢查询show variables l ...