故障的可能原因
- .htaccess 檔案不正常:進入 WordPress 的管理後台,點擊「設定」→「連結」,然後按下「儲存變更」。這樣 WordPress 會重新生成 .htaccess 檔案。如果這個步驟沒有解決問題,可以手動在 WordPress 安裝目錄中找到 .htaccess 檔案,並且檢查它是否存在。
- 確認 WordPress 是否在正確的網址上運行:如果您的 WordPress 安裝在子目錄或子網域下,請確認永久連結設定正確設定到子目錄下這一點。
- 伺服器是否支援永久連結:如果您的伺服器不支援永久連結,則 WordPress 將無法使用它們。(設定方式請見下一篇)
- 確認您的主題是否有任何問題:某些 WordPress 主題可能會干擾永久連結的正常運作。嘗試暫時更換到 WordPress 默認主題並再次測試永久連結。
在Apache2支持永久連結
要啟用 Apache2 的 mod_rewrite 模組,您需要將以下內容添加到 Apache2 的設定檔案中:
LoadModule rewrite_module modules/mod_rewrite.so
這個設定通常會加入到 mods-enabled 目錄中的一個設定檔案中。例如,您可以創建一個名為 rewrite.load 的檔案,並將上面的設定添加到這個檔案中。請按照以下步驟進行操作:
- 進入 mods-enabled 目錄:
cd /etc/apache2/mods-available
- 創建一個名為 rewrite.load 的檔案:
sudo touch rewrite.load
- 打開這個檔案並添加以下內容:
LoadModule rewrite_module modules/mod_rewrite.so
- 儲存並關閉檔案。
- 重新啟動 Apache2 伺服器,以使更改生效:
sudo service apache2 restart
啟用rewrite功能
若您的 /etc/apache2/mods-available
目錄下已經有了 rewrite.load
設定檔案,您可以透過建立符號連結方式來啟用 mod_rewrite
模組。
請按照以下步驟:
- 進入到
/etc/apache2/mods-enabled
目錄:
cd /etc/apache2/mods-enabled
- 建立
rewrite.load
的符號連結:
sudo ln -s /etc/apache2/mods-available/rewrite.load
- 重新啟動 Apache2 伺服器,以使更改生效:
sudo service apache2 restart
執行完上述步驟後,Apache2 的 mod_rewrite
模組即會啟用。您可以再次檢查 /etc/apache2/mods-enabled
目錄,確保 rewrite.load
的符號連結已經建立。若您需要停用 mod_rewrite
,則可以刪除這個符號連結即可。