如何用宝塔实现某个栏目只允许蜘蛛访问?

论坛首页 论坛 寻求帮助 如何用宝塔实现某个栏目只允许蜘蛛访问?

正在查看 1 条回复
  • 作者
    帖子
    • #20749
      罗拉
      参与者
        @gwen
        楼主
        派优网
        paayoo.com

        各位大佬,如何用宝塔实现某个栏目只允许蜘蛛访问?用户不允许访问?用户访问的话,类似下面这种效果

      • #20755
        孙锡源
        管理员
          @ibadboy
          坏蛋的博客
          ibadboy.net

          在你Nginx配置文件中加入,加的位置最好是你的端口监听及crt文件配置区块的后面:

          if ($http_user_agent !~* (baiduspider|360spider|googlebot|soso|bing|sogou|yahoo|yisouspider|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
              return 401;
          }

          用户访问的效果图:

          至于蜘蛛能不能正常访问你可以去百度站长工具那做一下抓取测试。我在postman里面测试是没问题的。

          • #20756
            罗拉
            参与者
              @gwen
              楼主
              派优网
              paayoo.com

              感谢大佬,我的意思是针对某个栏目不是整站;

              比如网站有3个栏目 http://www.xxx.com/111、www.xxx.com/222、www.xxx.com/333,我只想让www.xxx.com/333 实现这样的效果

              • #20757
                孙锡源
                管理员
                  @ibadboy
                  坏蛋的博客
                  ibadboy.net

                  其实我看懂你意思了,只是脑子里一直想的是只允许爬虫,然后忘记了栏目这码事。

                  这个你加个Nginx location把前面的if判断套起来就可以了。比如说:

                  location /123 {
                      if ($http_user_agent !~* (baiduspider|360spider|googlebot|soso|bing|sogou|yahoo|yisouspider|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
                          return 401;
                      }
                  }

                   

          正在查看 1 条回复
          • 哎呀,回复话题必需登录。