本站有个栏目比较的特殊,发布的内容页不希望被用户看到(包括蜘蛛),只希望栏目的首页面被看到。栏目首页面是聚合页面,看到全部的内容,而内容页是内容承载,发布的时候用到。不希望用户看到不希望蜘蛛看到了再去抓取,所以该类型的页面设置403。方法很简单,在服务器的nginx添加一个规则:
location ~/forbidden/([0-9]+)\.html{ deny all; }
简单解释一下就是forbidden目录下的包含数字名称的html文件不可访问。当然,forbidden栏目本身是可以访问的。
以=开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,不是正则匹配 ~ 开头表示区分大小写的正则匹配; ~* 开头表示不区分大小写的正则匹配 / 通用匹配, 如果没有其它匹配,任何请求都会匹配到