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