由於專案需要,以前使用Apache作為伺服器的專案需要改換成Nginx,但是換過之後出現了一個問題,直接使用網域進行存取的時候提示「該網頁無法正常運作重定向的次數過多ERR_TOO_MANY_REDIRECTS 」。
透過一步一步對程式碼進行斷點輸出查到原因是沒有進行設定預設的存取模組(預設控制器和預設方法)或設定的預設存取模組(預設控制器和預設方法)不存在。所以造成了此種原因。
解決方案如下:(建議學習:PHP視訊教學)
首頁直接設定跳轉向admin.php,但由於\thinkphp \library\think\Request.php檔案中,pathinfo() 函數return $this->pathinfo;
結果為'/',,這種情況就會去設定檔中尋找設定預設的控制器和操作,由於未進行這只預設的存取模組和控制器以及方法,所以造成「重定向的次數過多」錯誤回傳。
我們只需將tp5 中\application\config.php設定檔中的default_module(預設模組名稱)配置default_controller(預設控制器名稱)配置和default_action(預設操作方法名稱)配置改為存在的控制器和方法就行:
// 默认模块名 'default_module' => 'home', // 默认控制器名 'default_controller' => 'Index', // 默认操作名 'default_action' => 'index',
以上是php如何解決過多的重定向的詳細內容。更多資訊請關注PHP中文網其他相關文章!