在 htaccess 中使用 _escaped_fragment_ 可抓取的 AJAX

Crawlable AJAX with _escaped_fragment_ in htaccess(在 htaccess 中使用 _escaped_fragment_ 可抓取的 AJAX)
本文介绍了在 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)