不知道大家有沒有留意到,WordPress 的.htaccess 文件會常常被更改,.htaccess 文件在我們修改後會不知不覺的還原成默認的。
大家知道,在 linux 系統上安裝完成了 WordPress,並且在後台設置了偽靜態的 「固定連接」 之後,會自動生成一個包含如下內容的.htaccess 文件:
|
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase/ RewriteRule^index.php$–[L] RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule./index.php[L] </IfModule> # END WordPress |
我的固定連接用的是 「/%postname%.html」 這樣的 URL 結構,所以你看見的文章後面都是.html 結尾,然而在.html 後面加上一個 「/」 斜槓也可以訪問,這樣可能會對搜索引擎不利,所以我就在.htaccess 配置文件中加入了一句 301 重定向,如下:
|
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase/ RewriteRule^(.*).html/$$1.html[L,R=301] RewriteRule^index.php$–[L] RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule./index.php[L] </IfModule> # END WordPress |
後來發現只要你點擊了設置——固定連接,不管你有沒有修改什麼,也不管你又沒有保存,只要點擊了 「固定連接」,.htaccess 文件中 # BEGIN WordPress 和 # END WordPress 之間的內容就會被更改,自動還原。
所以解決辦法是將自己添加的部分加到 # BEGIN WordPress 和 # END WordPress 意外即可,這樣就是他恢復默認也沒有關係了。