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

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

我有一个 ajax webapp,我想让它可以被 Google 索引。

我的路径使用了 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

考虑到网络的无限性,我的 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”的文件夹中看到。

这些文件按文件夹组织,例如:

/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

不幸的是,它们无法处理文件夹结构,它们只是在 fragments 目录中寻找文件。

相关内容