解决启用wp super cache缓存后,页面追加多个斜杠仍然可以访问的隐患

昨天一哥们在博客留言告知,启用缓存后,html文章页面带上斜杠也还可以访问,试了下还真是这样。

解决启用wp super cache缓存后,页面追加多个斜杠仍然可以访问的隐患

其实,想想也是,wp-super-cache生成的文章缓存本身是以【%post_id%.html/index.html】形式存在的:

解决启用wp super cache缓存后,页面追加多个斜杠仍然可以访问的隐患

和目录形式一摸一样,那么加上斜杠后就相当于访问的是 http://****/1234.html/index.html,自然毫无问题。

那么按照这个哥们的想法,访问2个不同的页面,出现的确实一样的效果,那么自然会想到对SEO不太友好,会不会出现重复收录的问题。我觉得搜索引擎虽然偶尔会出现这种脑残收录,不过几率应该不大,除非你到处留了带斜杠结尾的内、外链,让蜘蛛爬到了。

正好,我也是一个完美主义,这种事还是要动手解决解决的。

针对html页面,追加一个斜杠还可以访问的情况,我在nginx里面新增如下规则即可搞定:

额外补充一下apache的规则(未作测试,凭经验写的,有需求的自己调试吧!):

现在再遇到往html后面添加一个斜杠的情况,就会自动301跳到不带斜杠的html页面,本以为问题解决了,没想到这哥们又说了,带N个斜杠还是可以访问,也不会跳转!

我次奥,还真是!试了一下别人的网站,比如卢松松的留言板,多加几个斜杠同样是可以访问的,既然他的网站SEO无碍,我们也就没什么好担心的了!

不过,我还是试了一下写相应的匹配规则,无奈正则匹配了半天多斜杠形式都没效果,最后我想到了另一个解决办法,那就是利用robots禁止搜索引擎抓取这种形式的路径,规则如下:

解决启用wp super cache缓存后,页面追加多个斜杠仍然可以访问的隐患

 

哦了,相信这样就可以解决追加斜杠仍然可以访问带来的SEO隐患了!

最新补充:偶然在日志发现蜘蛛居然经常爬http://zhangge.net/about/22222244445555这种链接,明明不存在,但又确实可以访问!只要继续新增nginx规则如下:

搞不懂蜘蛛是怎么想,反正挺坑爹!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:4   其中:访客  3   博主  1

  1. 亿品元素 2 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市 电信

    个人觉得还是不要和名博相比的好,网易还禁止百度蜘蛛爬呢。并且我确实发现搜索引擎会收录这两种格式的页面,排名还不一样,快照日期也不一样。

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 7 北京市 联通云BGP数据中心

      难道还不合你意?已经在robots加上了禁止,如果百度不遵守那也没办法。

  2. 厦门微信营销平台开发 3 来自天朝的朋友 火狐浏览器 Windows 7 江苏省南京市 移动

    回去试下看

  3. 极品飞鸽 5 来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市 奇虎360科技电信CDN节点

    俺还在wp自带的格式上奔跑

加载中,请稍候...