av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

新手用nginx,有幾個問題問下大神們

瀏覽:130日期:2024-06-19 14:13:02

問題描述

此前看到慕課網是用nginx部署的靜態資源,所以想自己嘗試下用ngjinx部署我的資源。現在需要下面幾個問題:

比如慕課網的這個鏈接:http://www.imooc.com/course/list ,它是怎么匹配url后的/course/list,我只能使用list.html,我想讓每個連接都不會出現.html的后綴,這個是重寫url嗎,還是用location配置

2.新手用nginx,有幾個問題問下大神們

上面的是一個location的配置,用來反向代理,它不應該可以匹配像/test/test.html,但是沒有匹配到,所以沒有轉發到代理服務器,而是正常顯示靜態頁面。

但是它可以匹配這樣的:/products/getproducts/2,確實轉發到了:localhost:8086/products/getproducts/2 ,得到正確的數據。

先問這兩個吧,對服務器不是很懂,可能有點白癡,望解答呀

新手用nginx,有幾個問題問下大神們

問題解答

回答1:

第一個問題:Nginx用try_files指令可以很方便地把請求數據導入到框架的前端控制器比如index.php里:

location { try_files $uri $uri/ /index.php?$args;}

前端控制器index.php可以用$_SERVER[’REQUEST_URI’]獲取/course/list這串URL參數,如果后面還有參數,比如/course/list?page=2&tag=mysql,這時可以用$_SERVER[’QUERY_STRING’]獲取查詢串page=2&tag=mysql,然后自行urldecode后用explode以&分割串獲得類似$_GET的參數數組,也可以直接使用$_GET拿到參數數組.

總而言之,就是由程序入口index.php及其里面的程序決定是加載HTML靜態文件返回,還是連接數據庫可進行處理.如果你想讓Nginx判斷是否命中HTML緩存,可以這樣配置:

location / { try_files $uri $uri/ /html$uri.html /index.php?$args;}

比如訪問/post/1024,Nginx會按try_files給定的順序嘗試訪問以下文件:/post/1024 ($uri 表示文件)/post/1024/ ($uri/ 表示目錄)/html/post/1024.html (/html$uri.html 表示你的HTML靜態緩存)如果都不存在,則連同參數把URI信息交給index.php處理 (最后的/index.php?$args表達的就是這個意思).

回答2:

問題 1,可以使用rewrite方式,例如:

rewrite '^/(course/.*)/?' $1.html last;

需要注意的是只重寫所有course 開頭的請求xxx.com/course/list -> xxx.com/course/list.htmlxxx.com/course/list/sub -> xxx.com/course/list/sub.html

問題 2感覺應該還有其他的location 配置,如果方便把整個nginx配置貼出來

主站蜘蛛池模板: 久久人人爽人人爽人人片 | 免费看黄色aaaaaa 片 | 欧美精品在线观看视频 | 国产精品一区二区久久 | 欧美资源在线 | 国产一区视频在线播放 | 久久精视频 | 欧美777| 成人午夜毛片 | aaa免费视频 | 手机看片福利视频 | av不卡在线观看 | av在线免费网站 | 亚洲黄色大片 | 综合久久久久 | 欧美一区二区三区在线播放 | 国产高清av | 中文字幕日韩在线观看 | 国产在线一区二区 | 国产www在线观看 | 精品国产一区二区三区四区 | 国产成人黄色 | 精品国产一区二区三 | 日韩一级片在线观看 | 超碰在线99 | 国产精彩视频 | 波多野结衣之双调教hd | 欧美视频精品 | 欧美一区 | 香蕉视频网站 | 青青青在线视频 | 亚洲精品一区二区三区在线观看 | 日本久久久久久久久 | 亚洲午夜视频在线观看 | 国产蜜臀av| 午夜在线观看免费视频 | 日韩黄色网址 | 亚洲啊v| 日韩av免费看 | 国产精品美女久久 | 国产天堂网 |