& r) [1 r' E7 V( u t% y# Q* r9 e; U 3、URL 中的 #! 有什么作用?3 b0 O/ r) G8 v
这是一个违反2中的特例,谷歌会抓取带有#!的URL。Google规定,如果你希望Ajax生成的内容被浏览引擎读取,那么URL中可以使用#!(这种URL在一般页面一般不会产生定位效果),Google会自动将其后面的内容转成查询字符串_escaped_fragment_的值。例如/#!/username等效于/?_escaped_fragment_=/username,而带?的URL是会被抓取的,所以#!的URL会被谷歌收录。* H. |' [. e. K1 D- e
4、搜索引擎会不会抓取带#号(哈希值)的URL给我们的启示, n' `: P; s: d3 B
一、不要试图用robots.txt屏蔽#的网址。我之前翻过一个错误,即在嗖录网的robots.txt中加入了disallow:/*#*规则,以试图屏蔽这些带#的URL被抓取。但实际上,这个做法是错误的,首先#在robots.txt是注释符号,它后面的内容会被注释掉,所以这条规则变成了disallow:/*,即阻止收录本站所有页面,幸好我在今早发现,并马上进行了修改。其次,搜索引擎不会抓取带#的URL,因此没有必要加一条这样的规则。- n- N2 g; l. k" [; s
二、可以利用#和ajax结合来隐藏不想被抓取的内容。在我们的一些网页中,可能有些内容是我们不想直接告诉搜索引擎的,或者一些隐私不希望被抓取,因此我们可以采用#来控制这些信息的显示。例如我们增加一个按钮,当URL中带#show-info-123时,显示123的个人信息,而不带时不显示。而对于搜索引擎来说,会自动忽略带#的URL,因此123的个人信息不会被抓取。* f' m" K! b, @- v, C