.htaccess для SEO-ботов, сканирующих одностраничные приложения без хэш-банга

ИспользуяpushState активную страницу, обычно вы перенаправляете SEO-ботов, используяescaped_fragment условность. Вы можете прочитать больше об этомВот.

Соглашение предполагает, что вы будете использовать (#!) префикс hashbang перед всеми вашими URI 'на одной странице приложения. SEO-боты будут избегать этих фрагментов, заменяя им хэш-банг »Собственная узнаваемая конвенцияescaped_fragment при оформлении запроса страницы.

//Your page
http://example.com/#!home

//Requested by bots as
http://example.com/?_escaped_fragment=home

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

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^(.*)$  https://s3.amazonaws.com/mybucket/$1 [P,QSA,L]

Проблема в том, что hashbang быстро исчезает благодаря широко адаптированнымpushState служба поддержки. Это'также очень уродливый и неt очень интуитивно понятен для пользователя.

Так что, если бы мы использовали режим HTML5, где pushState направляетвсе пользовательское приложение?

//Your index is using pushState
http://example.com/

//Your category is using pushState (not a folder)
http://example.com/category

//Your category/subcategory is using pushState
http://example.com/category/subcategory

Могут ли правила переписывания вести ботов к вашей кэшированной версии, используя это более новое соглашение?Связано, но учитывает только край индекса. Google такжеесть статья что предлагает использоватьвыбрать в Метод для этого единственного крайнего случая, используя в страницы. Опять же, это для одного крайнего случая. Здесь мы говорим об обработке каждой страницы каквыбрать в senario.I»

http://example.com/?escaped_fragment=
http://example.com/category?escaped_fragment=
http://example.com/category/subcategory?escaped_fragment=

Я думаю, чтоescaped_fragment все еще может быть использован в качестве идентификатора для SEO-ботов, и что я могу извлечь все, что находится между доменом и этим идентификатором, чтобы добавить его в мое местоположение, например:

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=$
# (high level example I have no idea how to do this)
# extract "category/subcategory" == $2
# from http://example.com/category/subcategory?escaped_fragment=
RewriteRule ^(.*)$  https://s3.amazonaws.com/mybucket/$2 [P,QSA,L]

Какие'лучший способ справиться с этим?

Ответы на вопрос(4)

Ваш ответ на вопрос