Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read $_GET variables with (mod rewrite powered) nice URLs

Tags:

php

.htaccess

get

Hello fellow programmers,

I'm using nice URLs the first time and I can't quite find out why I can't read my oAuth responses from my script.

So this is my setup:

.htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

I have a script that uses googles oAuth system to log in a user. This script sends the user to the google api page where they can allow my website to read their email adress and then send the user right back to my site with lots of $_GET variables.

I tell google to send it to

http://mywebsite/login/google/response

and it does that..

The problem is that google sends the result in the normal GET format like this:

http://mywebsite/login/google/response/?openid.ns=http%3A%2F%2Fspecs.openid.ne[..]

and my script can't read it..

Is there any way to read $_GET variables when they mix with nice URLs?

like image 612
Christian Avatar asked Feb 20 '23 12:02

Christian


1 Answers

You need to add QSA (query string append) to your flags.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,PT,L]

Then your $_GET will contain the correct values.

like image 194
Rocket Hazmat Avatar answered Mar 08 '23 14:03

Rocket Hazmat