我有一个ajax webapp,我想使索引到谷歌。
我的path使用hashbang,如下所示:
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
考虑到networking的无限方式,也可能是我的URL看起来像下面这样:
http://tld.com/index.html?_escaped_fragment_en/news/news-item-name
要么
http://tld.com/index?_escaped_fragment_en/news/news-item-name
我有一个包含标记的文件,应该在search引擎的一个名为“fragments”的文件夹中可见,这个文件夹在网站的documentroot的根目录下。
这些按文件夹组织,如:
/fragments/en/ -> containing a file called news
要么
/fragments/en/ -> /news , containg a file called news-item-name
Google根据https://developers.google.com/webmasters/ajax-crawling/docs/specification的规定将这些文件作为?_escaped_fragment_请求。
我需要创build一个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
这些不幸的是不能处理文件夹结构,他们只是在片段目录中寻找一个文件。