nginx配置 yii2 URL重写规则 SSI配置使shtml
// 加上紅色部分 重寫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配置結(jié)束 index index.html index.htm; }1.index
我的理解是默認(rèn)路徑,也就是當(dāng)找不到文件的時(shí)候的一個(gè)默認(rèn)的路徑,可以配置多個(gè)。
具體的用法稍后說,請先記住這個(gè)東西當(dāng)你找不到其他合適的東西,默認(rèn)給你分配的。
2.location
這個(gè)東西匹配你需要的路徑
3.try_files
這個(gè)東西是重定向用的,我感覺和index 差不多,不過確實(shí)比index 要好用
舉個(gè)例子:
訪問:xf.com/aa
如果我們這么設(shè)置,對于這一句的理解是。
try_files $uri $uri/ /index.php?$args;
當(dāng)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
當(dāng)找到相對應(yīng)的文件,就會把你的訪問url變成。
xf.com/index.html或者xf.com/index.htm? xf.com/index.php 其中一個(gè)
這回你明白index了吧
回來我們再說? try_files
當(dāng)匹配到這項(xiàng)的時(shí)候,就開始執(zhí)行try_files
nginx 回去找有沒有 aa這個(gè)文件($uri) 如果沒有
繼續(xù)找aa這個(gè)目錄($uri/) 如果也沒有的話就直接
重定向到?? /index.php?$args?? ?
$args 就是你的url 問號后邊的參數(shù)
總結(jié):
nginx 獲取到url ?
1.找server_name
2.找locationpipei
如果沒有找index默認(rèn)的文件
如果沒有直接404
有的話加上默認(rèn)的index.* 重新尋找匹配的location
如果有進(jìn)入執(zhí)行try_files
3.查找try_files 是否有相應(yīng)的文件
如果沒有直接重定向最后一項(xiàng)
?
參考
https://blog.51cto.com/13930997/2311716
?
轉(zhuǎn)載于:https://www.cnblogs.com/niuben/p/11043462.html
總結(jié)
以上是生活随笔為你收集整理的nginx配置 yii2 URL重写规则 SSI配置使shtml的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper包中,slf4j-lo
- 下一篇: git关联远程仓库和删除远程仓库