下面由thinkphp教程欄目給大家介紹ThinkPHP5配置Nginx實(shí)現(xiàn)兼容pathinfo模式訪問,希望對需要的朋友有所幫助!
創(chuàng)新互聯(lián)長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為根河企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),根河網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。ThinkPHP項(xiàng)目,當(dāng)使用Apache服務(wù)器時(shí),Apache服務(wù)器本身支持pathinfo模式,ThinkPHP的4種訪問模式都沒問題;當(dāng)使用Nginx時(shí),碰到問題,必須使用兼容模式訪問。
查找很多文檔,歸納原因及解決方案如下:
原因:低版本的Nginx不支持pathinfo模式;高版本的Nginx(大約0.7以后)支持,但默認(rèn)沒有開啟。
解決解決方案:
1、開啟Nginx的pathinfo模式:
在站點(diǎn)配置文件中找到 location ~ \\.php$ {...} 那部分,把那個(gè) $ 符號刪除,然后在{}中添加以下代碼:
fastcgi_split_path_info ^(.+\\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
保存,重啟。這時(shí)Nginx已經(jīng)支持pathinfo,訪問www.xxx.com/index.php/admin/index/test查看結(jié)果
注意:如果模板文件中使用了U()函數(shù),fastcgi_split_path_info部分要替換為
fastcgi_split_path_info ^((?U).+\\.php)(/?.+)$;
2、rewrite重寫,隱藏入口文件index.php
在站點(diǎn)配置文件中找到 location / {...}這部分,在里面添加以下代碼:
# 專門針對tp的rewrite模式 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; }
保存,重啟。這時(shí)Nginx完美支持pathinfo模式,訪問www.xxx.com/admin/index/test查看結(jié)果
本文題目:關(guān)于ThinkPHP5配置Nginx實(shí)現(xiàn)兼容pathinfo模式訪問
URL地址:http://www.rwnh.cn/article2/cjojic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、品牌網(wǎng)站制作、外貿(mào)建站、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)