不知道大家有没有留意到,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 意外即可,这样就是他恢复默认也没有关系了。