Использование mod_rewrite для удаления www вместе с SWFAddress.Почему Safari теряет контент после хэштега, Chrome и FF - нет? - PullRequest
0 голосов
/ 08 сентября 2011

Мне интересно поведение браузера при использовании mod_rewrite и хэштега (#).Firefox и Chrome могут переписать URL-адрес, который имеет «www», и удалить «www», сохраняя при этом исходный URL, с хэштегом и фрагментом, без проблем.Это потрясающе!Но Safari и IE7 / 8 (не уверен насчет 9) убирают «www» и теряют хэштег и фрагмент при перезаписи.Мне интересно, есть ли исправление с использованием mod_rewrite для Safari и IE?Хотя, я подозреваю, что нет, потому что я спрашиваю о фрагментах.(У меня нет опыта работы с mod_rewrite, я только читал об этом и только начал использовать файл HTML5 Boilerplate .htaccess. Я читал о том, как фрагменты хеша никогда не отправляются на сервер, и если я хотел сохранить илииспользовать этот фрагмент, я должен был бы сделать что-нибудь на стороне клиента с Javascript.)

Я могу использовать Twitter, чтобы показать пример того, о чем я говорю.Если вы используете Chrome или FF и перейдете к http://www.twitter.com/#!biz, вы получите перезапись http://twitter.com/#!biz без проблем, идеально.Но использование того же URL-адреса (с «www») в Safari и IE7 / 8 перезапишет URL-адрес обратно на основной URL-адрес Twitter, без «www», но без хеша и фрагмента, без диплинков.Это тот же результат для URL-адреса Twitter, который имеет #! / Biz (со вторым /)

Если Twitter не (или не может) ничего с этим поведением Safari / IE & 'www',тогда, может быть, я не должен потеть это тоже?Является ли это браузером, потому что нет решения использовать mod_rewrite в файле .htaccess для хранения фрагмента хэштега, верно?

Конкретно в своей работе я использую SWFAddress, который использует хэштег для глубокой ссылки во Flash-контенте, который почти в точности похож на URL в Твиттере, за исключением того, что нет "!".Я думаю, что в Твиттере используется подход Make AJAX Crawlable.И точно так же, как в Twitter, мои URL будут хорошо переписываться в FF и Chrome, но в Safari и IE 7/8 - нет.Кажется, это не имеет значения, если хэштег имеет «!»или нет, это все еще часть фрагмента, не так ли?

Я начал играть с подходом версии SWFAddress «Создание AJAX Crawlable», когда я искал решение, позволяющее сделать контент на Flash-сайте просматриваемым,но браузеры обрабатывают mod_rewrite таким же образом.Удаление 'www' отлично работает в FF / Chrome, обменивайте фрагмент в Safari и IE.У меня есть рабочий пример для моей версии SWFAddress Making AJAX Crawlable (пришлось удалить ссылку. Новые пользователи в stackoverflow получают только 2 URL-адреса на сообщение).В конце концов, я не использовал этот подход для поиска в моем Flash-контенте, но это выглядит многообещающе.Я думаю, что создание снимка HTML было более трудоемким, чем использование страниц PHP, но это совершенно другая тема / вопрос.

Было бы забавно, если бы (для моего первого вопроса о стековом потоке) был действительно короткий ответ, например,Да, не парься!:)

Спасибо!

1 Ответ

1 голос
/ 08 сентября 2011

Часть после хэша никогда не отправляется на сервер с запросом, поэтому она теряется браузером, а не Apache. С этим ничего не поделаешь, кроме как открыть отчет об ошибках у поставщиков браузеров.

...