不知道大家有沒有留意到,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意外即可,這樣就是他恢復默認也沒有關係了。