Я создал веб-страницу с URL-формой http://www.example.com/module/content Это очень динамичная веб-страница, на самом деле это веб-приложение.
Чтобы сделать его максимально гибким, я хочу использовать AJAX вместо обычных запросов на страницу. Это также позволяет мне использовать JavaScript для добавления слоя для обеспечения автономных возможностей.
Мой вопрос только: как мне сделать URL? Должны ли они быть http://www.example.com/module/content или http://www.example.com/#!/module/content?
Ниже приведены только мои мысли в обоих направлениях. Вам не нужно читать, если у вас уже есть четкая мысль об этом.
Я хочу использовать первую версию, потому что хочу поддержать новый стандарт HTML5. Он прост в использовании, и URL-адреса выглядят красиво. Но что еще более важно, это позволяет мне это сделать:
Если пользователь запрашивает страницу, она вернет полную HTML-страницу.
Если пользователь затем нажимает ссылку, он будет вставлять только содержимое в контейнер div через AJAX.
Это позволит пользователям без JavaScript использовать мой веб-сайт, так как он НЕВОЗМОЖНО использовать JavaScript, он просто будет использовать простой старый "click the link-request-get full html page back" -approach.
Хотя это здорово, проблема, конечно же, в Internet Explorer. Только последняя версия IE поддерживает API истории, и чтобы эта работа работала в более старых версиях, нужно использовать хэштег. (50% моих пользователей будут использовать IE, поэтому мне нужно его поддерживать...) Итак, я должен использовать /#!/, Чтобы заставить его работать.
Если вы используете обе эти URL-версии, возникает проблема: если пользователь IE размещает эту ссылку на веб-сайте, Google отправит сервер _unescaped_string (или тому подобное). И он будет индексировать страницу с помощью IE- версии с хэштегом. И некоторые страницы будут без хэштега.
И как мы помним, не-хэштег лучше для многих разных вещей. Итак, можно ли обойти эту проблему с поисковой системой? Можно ли сообщить GoogleBot, что если он достигнет хэштег-версии веб-сайта, он должен быть перенаправлен на не-хэш-версию веб-страницы? Таким образом, можно получить все преимущества URL без хэштега и по-прежнему поддерживать IE6-IE9.
Как вы думаете, лучший подход? Может быть, вы попробовали это на практике самостоятельно? Спасибо за ваш ответ!