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
基础教程推荐
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- HTTP 与 FTP 上传 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01