用于AJAX webapp的Apache2 mod-rewrite规则集

我有一个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 

这些不幸的是不能处理文件夹结构,他们只是在片段目录中寻找一个文件。