我正在尝试实现 google ajax crawlable snapshots .
为此,我在 .htaccess
中添加了以下重写条件,如下所示
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$
RewriteRule ^(.*)$ /snapshots/%1.html? [NC,L]
它工作正常,但在以下情况下失败。
www.mysite.com/#!/
这是在谷歌文档中作为 www.mysite.com/?_escaped_fragment_=/
抓取的。
我的快照目录中有一个准备好的 index.html
来处理此类请求
但是对于上面的重写条件,它正在搜索 .html
并且结果是 403 响应。如果您能帮我修复以针对此类请求提供 index.html
页面
最佳答案
您将需要针对上述用例的附加规则。将此规则插入现有规则之上:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/$ [NC]
RewriteRule ^ /snapshots/index.html? [NC,L]
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.+)$ [NC]
RewriteRule ^ /snapshots/%1.html? [NC,L]
关于ajax爬取的Apache重写条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18180626/