2011-01-19 2 views
32

ハッシュはAJAX検索のためのものですが、感嘆符ですか?誰でも知っていますか?TwitterはなぜURLにハッシュと感嘆符を使用し、検索URLをどのように書き換えますか?

また、検索フォームの "action"属性は "/ search"を指しますが、検索を実行すると、ハッシュの感嘆符がURLに表示されます。彼らは単に "/ search"から "/#!/ search"にリダイレクトしていますか?

注:「/ search」から「/#!/ search」にユーザーをリダイレクトしているか、「/ search」にユーザーを送りますか?ページでJSを使用してURLを書き換えますか? - Crashalot Jan 26 at 23:51

ありがとう!

+0

[Facebookのshebang/hashbang(#!)と新しいTwitterのURLは何ですか?](http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook- and-new-twitter-urls-for) - 少なくとも最初の部分はとにかく – BoltClock

答えて

9

2番目の部分に答えるには、/#!/ searchにリダイレクトされます。

として設定Locationヘッダであなたは302(一時的なリダイレクトを)返されhttp://twitter.com/britishdev(プラグプラグ)に行くときには、レスポンスヘッダーを見れば、「場所:http://twitter.com/#!/britishdev

はいJavaScriptがその後引っ張っているすべてのあなた宛先ページの詳細を入力しますが、リダイレクト先は関係ありません。

+10

私は何のために投票しましたか?プラグプラグ – BritishDeveloper

+1

。ああ、ユーモアのセンスが大好き! –

+2

ハハの – BritishDeveloper

30

これは、Googleが一貫性を確保し、ajaxのURLをクロール可能にするために確立したデファクトスタンダードになりました。

は、私は、彼らがhistory.pushStateを使用していると信じてhttp://code.google.com/web/ajaxcrawling/docs/getting-started.html

を参照してください。コンソールでhistory.back()を実行すると、ページに戻ります。

+1

実際には、質問の第2部分が未回答のままであることに気付きました。つまり、ユーザーを「/ search」から「/#!/ search」にリダイレクトしているのか、ユーザーを「/ search」に送信してページでJSを使用してURLを書き換えていますか? – Crashalot

23

はい、それは、ところでHTTP 302

にリダイレクトします "!"空のハッシュの場合を排除するために使用されます。 "http:// url#"を押すと、ブラウザが一番上にスライドします。

+1

また、このために http://code.google.com/web/ajaxcrawling/docs/getting-started.html – Ergec

関連する問題