![.htaccess - 如何避免子域名在 google 或类似网站上被看到?](https://linux22.com/image/598836/.htaccess%20-%20%E5%A6%82%E4%BD%95%E9%81%BF%E5%85%8D%E5%AD%90%E5%9F%9F%E5%90%8D%E5%9C%A8%20google%20%E6%88%96%E7%B1%BB%E4%BC%BC%E7%BD%91%E7%AB%99%E4%B8%8A%E8%A2%AB%E7%9C%8B%E5%88%B0%EF%BC%9F.png)
我有以下 htaccess 文件供您参考:
Options +FollowSymlinks
#+FollowSymLinks must be enabled for any rules to work, this is a security #requirement of the rewrite engine. Normally it's enabled in the root and we #shouldn't have to add it, but it doesn't hurt to do so.
RewriteEngine on
#Apache scans all incoming URL requests, checks for matches in our #.htaccess file
#and rewrites those matching URLs to whatever we specify.
#allow blank referrers.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?site.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?site.dev [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dev.site.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
# request is for http://dev.site.com
RewriteCond %{HTTP_HOST} ^dev.site.com$ [NC]
# user-agent is a search engine bot
RewriteCond %{HTTP_USER_AGENT} (Googlebot|yahoo|msnbot) [NC]
# return forbidden
RewriteRule ^ - [L,F]
我不希望通过谷歌搜索或类似方式公开 dev.site.com。
我已经下单了。我应该等吗?还是我应该做点别的?
答案1
.htaccess 实际上并不是用来阻止网站出现在 Google 搜索索引中的地方。 robots.txt是为此目的而设计的方法之一。
放置这个:
User-agent: *
Disallow: /
在 dev.site.com 根目录中名为“robots.txt”的文件中应该可以阻止它出现。
或者你可以添加meta 标签在你不想出现的页面中,例如:
<meta name="robots" content="noindex">
或者仅有的Google 不想索引您的网页,但允许其他机器人使用:
<meta name="googlebot" content="noindex">
在开发/生产类型的场景中,这样做的缺点是你必须采取一些措施来确保这些标签不会出现在你的生产代码中(假设你做希望 Google 为您的生产服务器编制索引)。