в каком виде и как лучше передавать переменые в виде ссылок методом get? Это мне необходимо для редиректа на ту же самую страницу, где находится пользователь, после входа/выхода. Вход реализован с помощью формы с методом post. Тут я просто добавляю hidden поле с подставкой текущего урла. Этот урл передается методом post файлу login.php, который при успешном входе делает редирект на страницу, с которой осуществлен вход. Выход осуществляется через ссылку методом get. Выход в login.php аналогичен входу. В ссылку для выхода добавляю к ссылке &url=..... Вроде все работает. Но при смене схемы url на folder based форум ругается на вид ссылки. Может есть еще кокой способ сделать редирект на предыдущую страницу? Или как нибудь преобразовать урл для передачи методом get?
че тока нету http://www.php.ru/manual/function.urlencode.html http://www.php.ru/manual/function.rawurlencode.html http://www.php.ru/manual/function.http-build-query.html
Спасибо за ссылочки))) Добавлено спустя 52 минуты 39 секунд: Почему-то ссылка Код (Text): http://site.zz/logout/2/3fe4032206440cfa458ad5169eb8fe0060dd7dc9/%2Fabout%2F/ не проходит по правилу Код (Text): RewriteRule ^logout/([0-9]+)/([a-z0-9]+)/(.*)/$ forum/login.php?action=out&id=$1&csrf_token=$2&lastpage=$3
Спасибо, разобрался. Правило верно, но для некодированного urlа в переменной. Немного подправил код, и сейчас login.php начал хавать и некодированный url при выходе и корректно редиректит на предыдущую страницу
блин, только при таком выводе съедаются слеши если Код (Text): $_SERVER['REQUEST_URI'] = /about/ , то ссылка получается такой: Код (Text): http://site.zz/logout/2/3fe4032206440cfa458ad5169eb8fe0060dd7dc9//about// После того, как переменная пришла в login.php от переданного куска urla остается Код (Text): about Можно, конечно, при редиректе добавить эти слеши по краям. Только вот у меня есть urlы без слеша на конце. Придется наверное кодировать url
Функции то вроде работают. urlencode перекодил мне Код (Text): /about/ в Код (Text): %2Fabout%2F Но вот только не могу в правиле RewriteRule прописать его