很多人都在用wordpress来做网站,而如果你网站主机使用的是linux系统,.htaccess配置文件就发挥着重要的作用,URL规范化,301重定向,防盗链等等。
但是,不知道大家有没有注意到,wordpress的.htaccess文件会经常被更改,我这里说的被更改并不是指网站被黑,或者是安装插件导致.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
.htaccess配置文件就发挥着重要的作用。但是不知道大家有没有注意到,wordpress的.htaccess文件会经常被更改,我这里说的被更改并不是指网站被黑,或者是安装插件导致.htaccess改变,而是指.htaccess不知不觉的还原成默认的。
我自己测试,只要你点击了设置——固定连接,不管你有没有修改什么,也不管你又没有保存,只要点击了“固定连接”,.htaccess文件中# BEGIN WordPress和# END WordPress之间的内容就会被更改,自动还原。不知道这算不算是wordpress的一个bug。
这个问题最好的解决方法是:把自己添加在.htaccess中的语句,写在# BEGIN WordPress和# END WordPress之外,如下:
# 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
RedirectRule 301 ^1.html $ 1.php