如何阻止 WordPress 覆寫 .htaccess 文件
最近有一位讀者詢問是否可以阻止 WordPress 覆寫 .htaccess 文件中的自定義代碼。WordPress 以及一些插件會向 .htaccess 配置文件添加自定義設置。如果你在 .htaccess 中添加了自己的自定義代碼,那麼你可能會擔心它會被覆寫或刪除。
在本文中,我們將展示如何阻止 WordPress 覆寫 .htaccess 文件。
為什麼 WordPress 會覆寫 .htaccess 文件?
.htaccess 文件是一個強大的配置文件,儲存有關你的 WordPress 網站的重要設置。它包含指令,告訴主機如何處理你的網站。WordPress 使用 .htaccess 文件來儲存其固定鏈接設置。每當你更改或重新生成固定鏈接時,WordPress 將自動覆寫 .htaccess 中的舊設置。
一些 WordPress 插件也會將其設置儲存在 .htaccess 中。例如,W3 Total Cache 插件會修改 .htaccess 文件,以配置該插件中的緩存和優化工具。最後,你也可以對 .htaccess 文件進行自定義更改,以控制網站的運作方式。例如,可以添加自定義規則,保護管理區域、防止黑客、設置重定向、屏蔽可疑的 IP 地址等等。
有些用戶擔心如果他們在 .htaccess 中添加自己的自定義規則,那麼當 WordPress 覆寫該文件設置時,這些規則可能會被刪除。其他用戶則希望手動配置 .htaccess,而完全不讓 WordPress 寫入其中。但只要遵循以下步驟,你的自定義規則將不會被覆寫。
如何阻止 WordPress 覆寫 .htaccess 規則
如果了解 .htaccess 文件的工作原理,你就可以確保你的自定義規則不會被覆寫。因為 WordPress 或插件會修改的文件區域是有明確標記的。確保不要在這些區域內添加代碼。
不要修改 WordPress 標記內的代碼
WordPress 使用 .htaccess 來儲存 SEO 友好的 URL 結構設置。它會將這些設置保存在 # BEGIN WordPress 和 # END WordPress 之間。這意味著,WordPress 不會覆寫或修改標記外的任何代碼。用戶通常會在文件頂部的 # BEGIN WordPress 標記上方添加自己的自定義代碼。注意:.htaccess 是一個隱藏文件,位於 WordPress 網站的根目錄中。如果無法找到,可以查看我們的指南。
不要修改插件標記內的代碼
當一個插件將其設置儲存在 .htaccess 中時,它也會在其設置之間添加標記。例如,W3 Total Cache 插件會在 # BEGIN W3TC Browser Cache 和 # END W3TC Browser Cache 標記之間添加規則。這些規則會在插件設置更改時覆寫,所以不要在這些標記之間添加自定義代碼。
為你的自定義代碼創建標記
一些情況下,插件可能會修改其標記外的代碼。如果擔心這種情況,可以在 .htaccess 文件中添加自己的標記。例如,可以在文件頂部添加 # BEGIN MyCustomCode 和 # END MyCustomCode 標記,並在其間添加自定義規則。如果在文件末尾也需要添加代碼,可以使用不同的標記名稱,如 ‘MyCustomCodeTop’ 和 ‘MyCustomCodeBottom’。
如何阻止 WordPress 修改 .htaccess
現在你已經了解 .htaccess 的工作原理,可以確保你的自定義代碼不會被覆寫。但有些開發人員希望阻止 WordPress 對 .htaccess 進行任何修改。例如,想手動輸入固定鏈接設置,避免衝突。在這種情況下,可以通過更改文件權限或使用代碼來阻止 WordPress 保存其固定鏈接設置到文件中。不推薦這樣做,因為可能會導致意外後果。但如果你知道該怎麼做,可以嘗試以下方法。
使用文件權限阻止 WordPress 修改 .htaccess
其中一個方法是將 .htaccess 文件設置為只讀。可以使用 FTP 客戶端或者主機提供的文件管理器來更改文件權限。找到 WordPress 安裝的根目錄中的 .htaccess 文件,然後右鍵單擊選擇 ‘文件權限’。這將顯示一個彈出窗口,可在其中更改文件屬性。默認設置為 644,但可以將其更改為 444,然後單擊 ‘確定’。這樣文件將是只讀狀態,無法修改。當需要進行修改時,可以暫時將文件權限設置回 644。
使用代碼阻止 WordPress 修改 .htaccess
另一種方法是使用代碼片段,讓 WordPress 知道不要寫入 .htaccess 文件。這對於希望阻止 WordPress 修改 .htaccess 而不阻止插件的用戶很有用。將以下代碼片段添加到 wp-config.php 文件的末尾:
add_filter('got_rewrite', '__return_false');
這樣一來,WordPress 將不再寫入 .htaccess 文件。
無法修改 .htaccess 時顯示的錯誤消息
如果將 .htaccess 設為只讀,再嘗試修改固定鏈接設置,將會顯示錯誤消息。需要手動將該文件設置回 644 以進行修改。
WordPress .htaccess 的專家指南
- 詞彙表:.htaccess
- 如何修復 WordPress .htaccess 文件(初學者指南)
- 最有用的 WordPress .htaccess 技巧
- 為什麼在 WordPress 網站上找不到 .htaccess 文件
- 如何在 WordPress 中添加 HTTP 安全標頭(初學者指南)
- 如何在 WordPress 中添加 Expires 標頭
- 初學者指南:逐步排除 WordPress 錯誤
希望這篇教程幫助你學習如何阻止 WordPress 覆寫 .htaccess 文件。你可能還想查看我們的指南,了解如何在 WordPress 中添加推送通知以及最佳的 WordPress SEO 插件和工具。
如果你喜歡這篇文章,請訂閱我們的 YouTube 頻道,獲取更多 WordPress 教程視頻。你也可以在 Twitter 和 Facebook 上找到我們。