We understand the hash is for AJAX searches, but the exclamation mark? Anyone know?

Also, the "action" attribute for their search form points to "/search," but when you conduct a search, the hash exclamation mark appears in the URL. Are they simply redirecting from "/search" to "/#!/search"?

Note: the second part of the q remains unanswered: That is, are they redirecting the user from "/search" to "/#!/search", or do they send the user to "/search" and use JS on the page to rewrite the URL? – Crashalot Jan 26 at 23:51

Thanks!

link|improve this question

2 Answers

It's become the de facto standard that Google has established to ensure consistency and make ajax urls crawlable.

See http://code.google.com/web/ajaxcrawling/docs/getting-started.html

I believe they are using history.pushState. You can do history.back() in the console and it'll lead you back to the page.

link|improve this answer
1  
Actually, I realized the second part of the question remains unanswered. That is, are they redirecting the user from "/search" to "/#!/search", or do they send the user to "/search" and use JS on the page to rewrite the URL? – Crashalot Jan 26 at 23:51

Yes, it redirects with HTTP 302.

By the way, "!" is used to eliminate the case with an empty hash. "http://url#" will make a browser to slide to the top.

link|improve this answer

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.