這只是一種普遍的信息問題,以便我可以在稍後在網站中實現它,但我想知道如何facebook他們的mod_rewrite。Facebook喜歡mod_rewrite與ajax頁面加載
爲了更具說明性,通常當網站有任何類型的Ajax頁面加載時,您會在地址欄中看到#/ page-name。在Facebook上,網址就像普通的友好網址一樣。你將如何使用mod_rewrite來重寫類似的東西?或者是別的什麼?
這只是一種普遍的信息問題,以便我可以在稍後在網站中實現它,但我想知道如何facebook他們的mod_rewrite。Facebook喜歡mod_rewrite與ajax頁面加載
爲了更具說明性,通常當網站有任何類型的Ajax頁面加載時,您會在地址欄中看到#/ page-name。在Facebook上,網址就像普通的友好網址一樣。你將如何使用mod_rewrite來重寫類似的東西?或者是別的什麼?
我也是,以爲它是mod_rewrite
。但是,由於頁面是異步加載的,因此不會調用mod_rewrite
。我搜索了一下,它回到了SO,並與此鏈接,詳細說明pushState()
方法,這可能有所幫助。
https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
它可能無法正常降級到不使用HTML5瀏覽器,但話又說回來,它可能。讓我知道它是如何爲你工作的。
大多數使用'pushState'看過的網站優雅地降低了散列技術。 – ceejayoz
URL的哈希部分永遠不會到達你的服務器(我不認爲)。你用javascript抓住它並用ajax加載頁面。 請參閱http://code.google.com/web/ajaxcrawling/docs/getting-started.html瞭解相似之處。
http://benalman.com/projects/jquery-hashchange-plugin/是一個簡單的方法來處理它。
他沒有詢問哈希爆炸。他詢問了類似的行爲,但**沒有**錨點 – zerkms
PushState
單是不是所有瀏覽器和版本都很友好,所以如果你想讓它很好地降級,你需要做大量的HTML5功能支持檢查和什麼。幸運的是,有一個很好的軟件包叫做歷史JS,可以很好地處理這個問題。雖然它提供了大量的選項來定製你的需求,但你基本上可以插入它並且不必擔心在各種瀏覽器上的兼容性/降級問題。
問題不明確。解釋哪個確切的行爲看起來對你來說很奇特(但很可能它不是mod_rewrite的工作)ps:我敢打賭'歷史重寫',但讓我們等待你的進一步解釋 – zerkms
可能重複[Facebook和Ajax](http://臉書.stackoverflow.com/questions/5792859/facebook-and-ajax) – ifaour