Hello fellow developers!
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
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
like so:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /webroot/crawler.php$1 [L]
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
)
what I'd like to get is
Array
(
[list] => last_ads
[order] => date
[directions] => des
)
I know I could use php to further break the first argument, but I don't want to ;)
please advise
==================================================== EDIT... some corrections in text and logic
Your forgot QSA directive (everyone missed the point =D )
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /webroot/crawler.php%1 [QSA,L]
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]
Tell me if this works.
If I'm not mistaken.
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /webroot/crawler.php?%1 [L]
Maybe is obvious for you, but in the documentation talk about escaped characters: Set up your server to handle requests for URLs that contain
The crawler escapes certain characters in the fragment during the transformation. To retrieve the original fragment, make sure to unescape all %XX characters in the fragment. More specifically, %26 should become &, %20 should become a space, %23 should become #, and %25 should become %, and so on.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With