168IT网 > WordPress教程 > 警惕wordpress的.htaccess文件被更改(自动还原)
2011五月12

警惕wordpress的.htaccess文件被更改(自动还原)

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

 

文章来源:168IT网
本文地址:http://www.168itw.com/wordpress/htaccess/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

10 Responses to “警惕wordpress的.htaccess文件被更改(自动还原)”

  1. #1 宜昌SEO 回复 | 引用 Post:2011-05-16 23:39

    其实,我在上个月就发现了这个问题,呵呵。上个月月底就修改过来了,呵呵。看来你还是经常看管理员工具的嘛

    • #2 168IT网 回复 | 引用 Post:2011-05-17 09:30

      我是看网站日志发现的,早就应该发现了,只是一直没去看!

  2. #3 SEO我要推 回复 | 引用 Post:2011-05-18 18:44

    高手 能够发现这个问题

  3. #4 武汉SEO浪子 回复 | 引用 Post:2011-05-20 19:25

    武汉SEO浪子飘过,学习了…

  4. #5 网络营销策划 回复 | 引用 Post:2011-06-21 16:03

    写得不错!准备转载到我的网络营销博客www.wuwenyuan.com上,当然,必须留版权!呵呵

  5. #6 山西太原肝病医院 回复 | 引用 Post:2011-06-27 17:38

    谢谢博主的分享咯

  6. #7 阳光博客 回复 | 引用 Post:2011-10-20 13:22

    厄.。。 我所采取的 办法就是 勤快点 备份 数据库 有啥大问题 恢复即可。。呵。

发表评论