我准备了一个.htaccess
文件,并将其放在一个包含 pdf 文件的目录中,以防止盗链,但我的站点除外,如下所示:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteRule ([^/]+)\.(pdf)$ http://www.example.com/search_gcse/?q=$1 [NC,R,L]
此规则按预期工作。如果链接来自外部文件,则请求将重定向到我的搜索页面,平台会在该页面搜索该(和类似的)文件。
所以,当我在谷歌搜索时,谷歌显示的结果(已经被索引)被重定向到我的搜索页面(很好)。现在,我担心下次 Google 会为我的网站编制索引。因此,我添加了一条新规则,如下所示:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot) [NC]
RewriteRule ([^/]+)\.(pdf)$ http://www.example.com/search_gcse/?q=$1 [NC,R,L]
但是,我不确定该规则是否有效,以及检查它的方法是什么。如果我尝试从 google 搜索结果访问文件,我仍然会被重定向到我的搜索页面,因此它不会影响 google 搜索结果。
此规则是否允许谷歌索引我的新 pdf 文件,但阻止从谷歌搜索结果页面直接访问?如果不是,那么实现这一目标的正确方法是什么?