寶塔面板部署thinkphp項目時ngix和apach服務器pathinfo的設置


一 前言

        寶塔面板無論是對於linux系統還是windows系統,都提供了一鍵式的部署方案,操作簡單,不需要復雜的編程基本功,小白可以完成專業復雜的后端部署。  對於寶塔提供的thinkphp5框架而言,更是大大提高開發效率。今天,針對瀏覽器訪問地址中經常用到的url的pathinfo設置,進行分析總結。

二 pathinfo的概念

     pathinfo是thinkphp框架為了url的簡化和直觀,設定的一種url形式。 

    今天以最簡單的控制品來說明。 

    舉個例如子

   

   http://tp5.com/index/index/index2

  域名為http://tp.com   訪問模塊為index  控制器為index  方法為index2

  tp5中的方法如下:

 

index2方法可以帶參數,那么加一個參數看下效果

http://tp5.com/index/index/index2/a/我要給變量a傳一個參數

看到這里,tp5的url傳參是直接在方法名后/變量/變量值  

這就是pathinfo!!!

那么,拋開tp5的pathinfo,tp3與傳統兼容模式,對是復雜的url傳參,非常不友好,也不利於seo.

今天要說的重點不是tp5的操作,而是寶塔面板在部署時,遇到的path設置問題。

三  ngix服務器pathinfo

     寶塔服務器自帶的一鍵部署tp5的pathinfo正常,ngix版本為1.8.

     但是如果從tp5官網下載的框架拷貝到寶塔網站中,path失效,經對比發現問題所在,點開網站設置,修改如下即可:

    

   

   把網站偽靜態,寫入如下規則即可,

location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}

意為隱匿index.php文件將?s=這種形式變量傳參形式重定向到index.php.

四 apach服務器的pathinfo

   寶塔自帶apach版本為2.4, 在tp5框架中,專門有一個文件是寫給apach讀取的,叫.htaccess文件 ,  目錄在public文件夾下

   

 

 

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

打開.htaccess.,如上修改,打開重定向即可。注意隱藏index.php時,有時apach默認少了?號,加上?號,pathinfo一切正常。

五  本機測試

     寶塔所有建站方式為域名+端口。如果想在window系統本地編輯測試,在購買域名之后,需要將域名綁定到本機。打開如下目錄下的hosts文件

    

  

127.0.0.1 tp.com

表示當本機訪問tp.com域名時,訪問本機

五 總結

    關於pathinfo,網上和論壇里,人者見仁,智者見智。實際工作中,用寶塔面板來配置服務器和網站,操作相對簡單,易於理解。總結起來其實就兩點,分別修改網站下的配置即可。

   ngix  修改偽靜態 

   apach 修改.htaccess文件

 

    

 

 

 

 

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM