У меня есть веб-приложение ajax, которое я хотел бы индексировать в Google.
Мои пути используют хэшбанг и выглядят так:
http://tld.com/?_escaped_fragment_en/news
http://tld.com/?_escaped_fragment_de/news
или
http://tld.com/?_escaped_fragment_en/news/news-item-name
http://tld.com/?_escaped_fragment_de/news/news-item-name
Учитывая бесконечное количество способов в Интернете, мои URL-адреса также могут выглядеть следующим образом:
http://tld.com/index.html?_escaped_fragment_en/news/news-item-name
или
http://tld.com/index?_escaped_fragment_en/news/news-item-name
У меня есть файлы, содержащие разметку, которая должна быть видна поисковым системам, в папке под названием «фрагменты», которая находится на корневом уровне корневого каталога документов веб-сайта.
Они организованы по папкам, например:
/fragments/en/ -> containing a file called news
или
/fragments/en/ -> /news , containg a file called news-item-name
Google запрашивает файлы как? _Escaped_fragment_, согласно https://developers.google.com/webmasters/ajax-crawling/docs/specification.
Мне нужно создать правила перезаписи apache, которые отображают запрос, например,
http://tld.com/index.html?_indexed_fragment=en/news/news-item-name
в соответствующий файл в моей файловой системе (/ fragments / en / news / news-item-name), чтобы моментальный снимок мог быть передан поисковому роботу.
В настоящее время у меня действуют следующие правила:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /fragments/%1
К сожалению, они не могут иметь дело со структурой папок и просто ищут файл в каталоге фрагментов.