Привет, коллеги-программисты,
Я использую хорошие URL-адреса в первый раз, и я не могу понять, почему я не могу прочитать свои ответы oAuth из моего сценария.
Итак, это моя настройка:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
У меня есть сценарий, который использует систему googles oAuth для входа пользователя. Этот скрипт отправляет пользователя на страницу google api, где они могут разрешить моему веб-сайту читать их адрес электронной почты, а затем отправлять обратно пользователя на мой сайт с большим количеством переменных $ _GET.
Я говорю Google, чтобы отправить его
http://mywebsite/login/google/response
и он это делает ..
Проблема в том, что Google отправляет результат в нормальный формат GET следующим образом:
http://mywebsite/login/google/response/?openid.ns=http%3A%2F%2Fspecs.openid.ne[..]
и мой скрипт не может его прочитать.
Есть ли способ читать переменные $ _GET, когда они смешиваются с красивыми URL-адресами?
Вам нужно добавить QSA
(дополнение строки запроса) к вашим флагам.
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [QSA,PT,L]
Тогда ваш $_GET
будет содержать правильные значения.