Crawlable AJAX with _escaped_fragment_ in htaccess(在 htaccess 中使用 _escaped_fragment_ 可抓取的 AJAX)
问题描述
各位开发者好!
我们几乎完成了 ajax 网络应用程序的第一阶段的开发.在我们的应用程序中,我们使用哈希片段,如:
We are almost finished with developing first phase of our ajax web app. In our app we are using hash fragments like:
http://ourdomain.com/#!list=last_ads&order=date
我知道谷歌会获取这个 url 并以这种形式向服务器发出请求:
I understand google will fetch this url and make a request to the server in this form:
http://ourdomain.com/?_escaped_fragment_=list=last_ads?order=date&direction=desc
一切都很完美,除了……
everything is perfect, except...
我想将这种请求路由到另一个脚本
I would like to route this kind of request to another script
像这样:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /webroot/crawler.php$1 [L]
问题是,当我尝试在 crawler.php 中打印_r($_REQUEST) 时,我只得到:
The problem is, that when I try to print_r($_REQUEST) in crawler.php I get only:
Array
(
[_escaped_fragment_] => list=last_ads?order=date
[direction] => desc
)
我想要的是
Array
(
[list] => last_ads
[order] => date
[directions] => des
)
我知道我可以使用 php 来进一步打破第一个参数,但我不想 ;)
I know I could use php to further break the first argument, but I don't want to ;)
请指教
====================================================编辑...文本和逻辑中的一些更正
==================================================== EDIT... some corrections in text and logic
推荐答案
你忘记了 QSA 指令(大家都错过了点 =D)
Your forgot QSA directive (everyone missed the point =D )
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /webroot/crawler.php%1 [QSA,L]
顺便说一下,你的 $1 是错误的......没用,因为它没有指代任何东西.所以这应该是:
By the way your $1 is well err... useless because it refers to nothing. So this should be:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /webroot/crawler.php [QSA,L]
告诉我这是否有效.
这篇关于在 htaccess 中使用 _escaped_fragment_ 可抓取的 AJAX的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 htaccess 中使用 _escaped_fragment_ 可抓取的 AJAX
基础教程推荐
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何替换eregi() 2022-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
