боты видят урл так, как им его отдает апач или другой вэбсервер.
RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2 [R] RewriteRule ^/([uge])/([^/]+)$ /$1/$2/ [R]
источник тут
- Yahoo 41722 81376
- AltaVista 4696 4700
- Dogpile 1875 2092
- MSN 1729 1988
- AllTheWeb 1085 2545
- Unknown search engines 737 804
- Excite 584 1190
- WebCrawler 246 267
- MetaCrawler (Metamoteur) 224 266
- InfoSpace 43 54
- ix quick 3 541
- Google 0 2
:)
кто-то уже здесь его выкладовал :)
не работает под IE(!)
<html> <head> <script> var gXMLHttpRequest; var url, urls, reqgr, reqgre, gch, querystring; var t; var j = 0; function load() { t = window.open('','res','width=500,height=500,resizable=1'); t.document.open(); t.document.write("<table>"); urls = document.getElementsByTagName("A"); getReq(); } function getReq() { if (j >= urls.length) { t.document.write("</table>"); t.document.close(); return; } url = urls[j].href; reqgr = "info:" + url; reqgre = "info:" + URLencode(url); gch = "6" + GoogleCH(strord(reqgr)); querystring = "http://www.google.com/search?client=navclient-auto&ch=" + gch + "&ie=UTF-8&oe=UTF-8&features=Rank&q=" + reqgre; netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead'); gXMLHttpRequest = new XMLHttpRequest(); gXMLHttpRequest.onload = dwrite; gXMLHttpRequest.open("GET", querystring); gXMLHttpRequest.send(null); } function dwrite() { var temp = gXMLHttpRequest.responseText; var foo = temp.split(":"); var pr = foo[2]; var fpr = pr.split("\n"); t.document.write("<tr>"); t.document.write("<td>" + url + "</td>"); t.document.write("<td>" + fpr[0] + "</td>"); t.document.write("</tr>"); j += 1; getReq(); } function URLencode(sStr) { return escape(sStr).replace(/\+/g, '%2B').replace(/[ ]/g,'+').replace(/\//g,'%2F'); } function strord(string) { var result = new Array(); for(i = 0; i < string.length; i++) { result = string.charCodeAt(0); } return result; } function GoogleCH(url) { var init = 0xE6359A60; var length = url.length; var a = 0x9E3779B9; var b = 0x9E3779B9; var c = 0xE6359A60; var k = 0; var len = length; var mixo = new Array(); while(len >= 12) { a += (url[k+0] +(url[k+1]<<8) +(url[k+2]<<16) +(url[k+3]<<24)); b += (url[k+4] +(url[k+5]<<8) +(url[k+6]<<16) +(url[k+7]<<24)); c += (url[k+8] +(url[k+9]<<8) +(url[k+10]<<16)+(url[k+11]<<24)); mixo = mix(a,b,c); a = mixo[0]; b = mixo[1]; c = mixo[2]; k += 12; len -= 12; } c += length; switch(len) { case 11: c += url[k+10]<<24; case 10: c+=url[k+9]<<16; case 9 : c+=url[k+8]<<8; case 8 : b+=(url[k+7]<<24); case 7 : b+=(url[k+6]<<16); case 6 : b+=(url[k+5]<<8); case 5 : b+=(url[k+4]); case 4 : a+=(url[k+3]<<24); case 3 : a+=(url[k+2]<<16); case 2 : a+=(url[k+1]<<8); case 1 : a+=(url[k+0]); } mixo = mix(a,b,c); if (mixo[2] < 0) return (0x100000000 + mixo[2]); else return mixo[2]; } function mix(a,b,c) { a -= b; a -= c; a ^= (zeroFill(c,13)); b -= c; b -= a; b ^= (a<<8); c -= a; c -= b; c ^= (zeroFill(b,13)); a -= b; a -= c; a ^= (zeroFill(c,12)); b -= c; b -= a; b ^= (a<<16); c -= a; c -= b; c ^= (zeroFill(b,5)); a -= b; a -= c; a ^= (zeroFill(c,3)); b -= c; b -= a; b ^= (a<<10); c -= a; c -= b; c ^= (zeroFill(b,15)); var ret = new Array((a),(b),(c)); return ret; } function zeroFill(a,b) { var z = hexdec(80000000); if (z & a) { a = a>>1; a &= ~z; a |= 0x40000000; a = a>>(b-1); } else { a = a >> b; } return (a); } function hexdec(str) { return parseInt(str,16); } </script> </head> <body> <input type="Submit" onclick="load();"> <!-- список ссылок для проверки --> <a href="http://www.google.com">##</a> <a href="http://www.msn.com">##</a> ..... </body> </html>
после покупки нового 2мес ждать надо.
если тебе нужен для установки скрипта клона youtube, то на этом все не закончится,
там список огромный.