Итак, согласно спецификациям Google для сайта с возможностью сканирования AJAX, я настроил свой сайт так, чтобы foo.com/#!bar извлекал нужный контент. Это также работает, когда вы вводите foo.com/?_escaped_fragment=bar, так как это по сути то же самое. Однако, если я захожу в Google и отрисовываю его или даже через службу предварительного просмотра Bing, только ссылка /?_escaped_fragment= возвращает предварительный просмотр нужной страницы, а другой #! ссылка просто возвращает статическую домашнюю страницу без каких-либо изменений. Теперь это вполне возможно из-за того, как я настроил свой сайт, фрагмент / URL-адрес не имеет отношения к коду PhP, просто при загрузке или изменении хэша я вижу, #! или экранированный фрагмент вызываются и преобразуются в то, что мне нужно для вызова PhP. Что идет вразрез с очевидным правильным способом сделать это. Но если /?_escaped_fragment= работает точно так, как задумано, а #! метод использует ТОЧНО тот же код, почему #! вернуть статический сайт?
Почему ?_escaped_fragment= реагирует иначе, чем #!
Ответы (1)
Насколько я понял, вы используете #!
для создания разных страниц.
Но #
в URL-адресе используется в HTML для получения определенного места на той же странице, поэтому, возможно, Google и Bing игнорируют эту часть URL-адреса.
person
furas
schedule
12.07.2014