寶塔首頁出現舊HTML:先核預設文件順序與站點入口

網站已上傳新的index.php,打開域名卻仍看到舊HTML頁面,先查預設文件,不急著刪除整個網站。瀏覽器要求的是目錄網址,Web伺服器還要決定該目錄的入口檔案;目錄裡同時有多個首頁候選,最後顯示哪個,取決於實際服務配置。

以下依寶塔及Web伺服器官方文件整理查法。文中的檔名與配置是說明用示例,不是本站替你的伺服器測得的結果。先辨認網站使用Nginx還是Apache,再看對應的生效設定,避免把不同服務的語法混在一起。

先比較目錄網址與明確檔名

先記下完整網址。https://example.com/和https://example.com/index.php不是同一個請求路徑;前者要求根目錄入口,後者直接指定檔案。若兩者看到不同內容,這是檢查預設文件的線索,不是單憑畫面就能確認的唯一原因。

在正確的公開目錄查看index.php、index.html與其他入口是否同時存在。也核對檔案大小寫和內容,避免把另一個資料夾的舊檔誤認成網站正在使用的檔案。不要先刪檔再查,否則原本的選擇順序和回復依據都可能消失。

如果PHP入口本身報錯,而靜態HTML可以開,還要另外處理PHP執行問題。預設文件設定只決定入口選擇,不能替你修復程式依賴、資料庫連線或PHP版本不相容。把不同結果記下來,才能判斷下一步查哪一層。

到寶塔目標站點查看預設文件

寶塔官方步驟是進入網站清單,選中要管理的站點,再打開預設文件。文件列出常見名稱,包括index.php、index.html、index.htm及default系列,也允許加入自訂文件,例如1.html。

這份名稱清單不是所有現有站點都以相同順序提供首頁的保證。網站可能已經被修改過,伺服器類型及其他配置也可能不同。應以目標站點當前設定和最後生效的服務配置為準,不只看文章裡列出的名稱。

修改之前保存原清單,先確認你想使用的入口檔案確實存在於公開目錄。新增一個不存在的名稱,不會讓Web伺服器自動產生對應首頁。自訂檔名也要和部署方式一致,不能只改面板欄位,卻沒有上傳真正的文件。

Nginx會按index清單順序找檔案

Nginx官方index模組處理以斜線結尾的請求,index指令可以列出多個候選文件,並按指定順序檢查。以下只用來說明順序;實際站點要查看它自己的server或location上下文。

index index.html index.php;

在這個示例中,若index.html存在,就可能先選中它,而不是後面的index.php。若你的目標是PHP程式,先查清楚為什麼保留HTML入口,再決定調整順序、移出舊檔或採用其他部署安排。不要一概宣稱寶塔永遠先選PHP。

Nginx文件也提醒,選中索引文件會造成內部轉交,後續可能由另一個location處理。因此,查看根目錄的index值之後,還要確認被選中的檔案如何處理,尤其是PHP入口,不把選中檔案和成功執行程式當成同一件事。

Apache則核對DirectoryIndex

若網站使用Apache,官方mod_dir文件以DirectoryIndex設定目錄入口,可以列出多個資源,選取第一個找到的候選。這是Apache的規則,不能把Nginx的index指令直接貼進Apache配置。

也注意同一上下文中多個DirectoryIndex指令可能累加清單,而不是你想像的後面一行覆蓋前面一行。讀配置時,要把相關設定放在一起核對;只抄最後一行,可能漏掉原本仍在清單中的入口。

沒有找到入口時,是否產生目錄列表取決於相關設定。不要為了解決首頁問題就打開目錄瀏覽,讓訪客看到原本不應公開的檔案清單。先把正確入口、公開目錄和服務規則查清楚,再處理必要變更。

分清入口問題與路由問題

如果根目錄能開,但程式內頁404,不代表再增加幾個首頁檔名就能修好。框架路由通常還需要把特定請求交給入口程式;預設文件主要解決目錄請求的入口選擇,兩者責任不同。

相反地,如果所有網址都回到某張舊維護頁,也要核對是否有轉址、維護規則或代理服務。先看回應狀態和網址是否改變,再回到檔案入口。不要只因首頁內容舊,就在沒有證據時修改每一段路由配置。

寶塔網站目錄與運行目錄也會影響你正在查哪組檔案。若網站已指向public,應查看public裡的候選入口,而不是專案根目錄中的同名文件。把生效路徑記清楚,避免修改到不參與服務的舊副本。

變更後查看回應,別把快取當成配置未生效

瀏覽器或中間快取可能保留先前回應。MDN的Cache-Control文件說明,回應可以具有不同的儲存與重新驗證條件;看到舊畫面時,應核對實際回應及快取資訊,而不是立刻再改一次預設文件。

記錄測試網址、時間、狀態碼及實際內容,必要時使用合適的重新驗證方式核對。不要為了測一張首頁,直接清除全站或其他網站的快取,也不要把隨便增加查詢參數當成所有代理都必定繞過快取的保證。

確認新入口正常後,再安排舊文件的保存或移除。保留可回復的原設定和檔案版本,讓維護者知道這次改的是候選順序、文件內容,還是公開目錄;日後出現相似問題,就不必重新猜測整個部署過程。

用小範圍核對完成首頁切換

至少分別查看根目錄、明確入口檔名、一個靜態資源及一條合法內頁,核對它們是否符合預期。這不是要求所有網址都顯示同一內容,而是確認首頁切換沒有讓其他請求走錯入口。

如果網站有多個正式域名,也分別核對各自選中的站點。相同IP不代表各域名使用相同配置;不要用其中一個域名的成功結果,替另一個尚未檢查的入口作結論。

交接時附上改動前後的候選文件清單,並說明哪個文件仍保留作回復使用。若之後更新工具又產生同名HTML,就能辨認它可能再次參與入口選擇,先查實際排序,而不是直接認定PHP程式更新失敗。

參考資料

原文鏈接:https://wntheme.com/bt-default-index-order/,轉載請註明出處。
0

評論0

顯示驗證碼
沒有帳號?註冊  忘記密碼?