Facebook как mod_rewrite с загрузкой страницы ajax - PullRequest
0 голосов
/ 05 октября 2011

Это всего лишь вопрос общей информации, так что я могу реализовать его на сайте позже, но мне было интересно, как Facebook делает их mod_rewrite.

Чтобы быть более понятным, обычно, когда на сайт загружается какая-либо страница типа ajax, вы видите # / page-name в адресной строке. На фейсбуке URL выглядит как обычный дружественный URL. Как бы вы использовали mod_rewrite, чтобы переписать что-то подобное? или это что-то еще?

Ответы [ 3 ]

1 голос
/ 05 октября 2011

Я тоже думал, что это mod_rewrite. Однако, поскольку страницы загружаются асинхронно, не вызывается mod_rewrite. Я погуглил, он вернулся к SO и был связан с этим, в котором подробно описан метод pushState(), это может помочь.

https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

Это может не ухудшиться из-за браузеров, не использующих HTML5, но, опять же, это может произойти. Дайте мне знать, как это работает для вас.

0 голосов
/ 01 ноября 2011

PushState не так уж и дружественен для браузеров и версий, поэтому, если вы хотите, чтобы он нормально ухудшался, вам нужно много проверять на предмет поддержки HTML5 и тому подобное. К счастью, есть хороший пакет под названием History JS , который очень хорошо справляется с этим. Хотя он предоставляет множество вариантов для адаптации к вашим потребностям, вы можете просто подключить его и не беспокоиться о совместимости / ухудшении в различных браузерах.

https://github.com/browserstate/History.js

0 голосов
/ 05 октября 2011

Хеш-часть URL никогда не достигает вашего сервера (я не думаю). Вы ловите это с помощью JavaScript и загружаете страницу с помощью AJAX. Смотрите http://code.google.com/web/ajaxcrawling/docs/getting-started.html для чего-то похожего.

http://benalman.com/projects/jquery-hashchange-plugin/ - это простой способ справиться с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...