wordpress中的.htaccess不知不觉的还原成默认

wordpress中的.htaccess不知不觉的还原成默认,服务器centos 6.5  64位。

很多人都在用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

我们可以用记事本打开该文件进行编辑,添加一些语句以实现特殊的需要。我之前的一个用wordpress搭建的网站,由于结构的调整,导致很多url发生变化,于是我在.htaccess中用RedirectMatch把老的URL重定向到新URL:

# 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]
RedirectMatch 301 ^/category/old-category/ /category/new-category$2
</IfModule>
# END WordPress

今天在查看这个网站的日志的时候发现,Googlebot在抓取很多老的url都返回404错误,浏览器中打开这些老的url,也都是404错误页。不是都做过301重定向吗,为什么又变成了404呢?赶紧查看.htaccess文件,发现.htaccess的内容竟然都变成了默认的了,也就是我添加的301重定向语句RedirectMatch 301 ^/category/old-category/ /category/new-category$2 都自动消失了。以为是网站被黑了,但是不像啊,黑了我的网站,为什么只是把.htaccess改回默认的,而没有其他动作呢?我又查看了其他几个用wordpress搭建的网站,很多网站的.htaccess文件都是默认内容了!

网上搜了一下,没有找到我要的答案,唯一在wordpress中文论坛看到有人提到:如果更改了固定连接,wordpress会自动修改.htaccess文件中# BEGIN WordPress和# END WordPress的内容,但是我并没有修改过固定连接。

后来经过我自己测试,并非是因为修改固定连接,只要你点击了设置——固定连接,不管你有没有修改什么,也不管你又没有保存,只要点击了“固定连接”,.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

RedirectMatch 301 ^/category/old-category/ /category/new-category$2




 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值