護衛神等IIS設置Thinkphp框架的public目錄為根目錄的解決辦法


最近碰到一個棘手的問題,在使用護衛神或者主機寶等IIS環境配置PHP的時候,不能把public設置為網站根目錄(因為Thinkphp的安全要求:要將public設置為對外公開目錄),這個問題無法搜索到真實解決辦法,那么我們應該如何將運行目錄設置為/public呢?

當我們使用護衛神的IIS配置Thinkphp時,發現Thinkphp的運行目錄public在護衛神里無法設置為運行目錄,系統創建的網站默認根目錄為web里面的內容。銀天科技小編經過大量的試驗,終於找到到最終的解決辦法。
 
其實護衛神是使用IIS來部署THINKPHP的,所以所有使用IIS部署的網站,用這個方法也一樣可以有效解決。
 
一、我們需要創建一個域名為其他的網站(如下圖)
 
 
 
二、在網站里建一個子站,自站的目錄是public,域名填寫你真實的域名(如下圖)
 
 
 
三、運行網站,這時候的網站能訪問,但是你會發現內容不跳轉,訪問域名+Index.php能訪問,但是訪問域名卻報404之類的錯誤,原因在於route,也就是url重寫,偽靜態不生效(如下圖)
 
 
四、我們只需要在public里面創建一個web.config文件,注意文件的編碼跟上網站的編碼,web.config里面的內容如下,(此處無法給出下載連接,有需要的請到原文提供的下載連接下載)
 
 
 
 
五、這時候再訪問域名,你就會發現偽靜態已經生效了,網站部署也已經大功告成了!
 
這個方法適用於使用IIS部署TP5,護衛神部署TP5。

原文出自https://www.gzytsoft.com/a/news/zhanchangshizhan/2019/0507/646.html,轉載請標明出處。


免責聲明!

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



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