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配置結束 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
?
轉載于:https://www.cnblogs.com/niuben/p/11043462.html
總結
以上是生活随笔為你收集整理的nginx配置 yii2 URL重写规则 SSI配置使shtml的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper包中,slf4j-lo
- 下一篇: git关联远程仓库和删除远程仓库