因为网站是放在独立IP的主机上,百度和谷歌直接通过ip地址收录了网站许多页面,包括二级目录下的页面,因为子目录下也存在htaccess文件,有自己的规则,所以根目录的301跳转规则对子目录无效,需要在子目录下再做301重定向。
发现子目录与根目录不同的地方是访问地址后面有没有加斜杠所请求的地址有一点点不同,下面是规则:
RewriteBase /news
RewriteCond %{HTTP_HOST} ^zui88.com [NC]
RewriteRule com(.*)$ http://www.zui88.com$1 [L,R=301]
#不加斜杠请求的地址是/wwwroot/zui88.com/news/
RewriteCond %{HTTP_HOST} ^zui88.com [NC]
RewriteRule (.*)$ http://www.zui88.com/news/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^124.173.133.154 [NC]
RewriteRule com(.*)$ http://www.zui88.com$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^124.173.133.154 [NC]
RewriteRule (.*)$ http://www.zui88.com/news/$1 [L,R=301]