[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема после RewriteRule
Страницы: 1, 2
Миша
Весь день пробовал решить вопрос - не получилось.

Сделал ЧПУ через .htaccess:
AddDefaultCharset utf-8
RewriteEngine On
RewriteRule ^test/([^/]+)/([^/]+)/[?]{1,}([^.]+)$ test/index.php?name=$1&name2=$2&$3 [QSA]
RewriteRule ^test/([^/]+)/([^/]+)/$ test/index.php?HTS601=$1&HTS602=$2 [QSA]
RewriteRule ^test/([^/]+)/$ test/index.php?HTS601=$1 [QSA]

В общем всё работает, но в куки эти значения пишет странно, что потом в php не срабатывает условие:
auto-hab.ru/useful/index.php?HTS601=Ярославская%20область&HTS602=Ярославль&GEO=1
auto-hab.ru/useful/Ярославская%20область/Ярославль/?GEO=1


Посмотрите, что пишет в куки в обоих случаях, кто разбирается. Пробовал mb_detect_encoding - получаю utf-8; urlencode, urldecode, rawurlencode, rawurldecode - не помогли.

Насколько я понял в $_GET нелатинские символы преобразуются в шестнадцатеричное представление, а на сервере по умолчанию параметры GET обрабатываются urldecode(). Мне так кажется, в RewriteRule что-то происходит.

_____________
Принимаю заказы, писать в ЛС
redreem
urldecode же. все раскодируется прекрасно.
redreem
если получаются кракозяблы, то значит с кодировкой намудрил. в utf8 все работает.
Миша
Цитата (redreem @ 5.05.2016 - 02:05)
urldecode же. все раскодируется прекрасно.

Цитата
urlencode, urldecode, rawurlencode, rawurldecode - не помогли.

Пробовал уже всё из этого списка sad.gif

_____________
Принимаю заказы, писать в ЛС
Миша
Цитата (redreem @ 5.05.2016 - 02:06)
если получаются кракозяблы, то значит с кодировкой намудрил. в utf8 все работает.

Цитата
Пробовал mb_detect_encoding - получаю utf-8

По всему сайту utf-8 стоит

_____________
Принимаю заказы, писать в ЛС
redreem
я взял твою куку и все прекрасно раскодировалось:

$a = '%D0%AF%D1%80%D0%BE%D1%81%D0%BB%D0%B0%D0%B2%D1%81%D0%BA%D0%B0%D1%8F+%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C';
echo urldecode($a);


Ярославская область
AllesKlar
Проблема в чем?
В куках записано Ярославль в urlencode
Читаешь куку, прогоняешь ее через urldecode и получаешь в зад свой Ярославль

_____________
[продано копирайтерам]
Миша
т.е. скрипт эту печеньку не видит.

_____________
Принимаю заказы, писать в ЛС
redreem
каким образом куки влияют на чпу? ты делаешь запрос по определенному адресу, чпу преобразует, что в результате в пыхе? print_r($_SERVER);
Миша
Цитата (redreem @ 5.05.2016 - 02:19)
каким образом куки влияют на чпу? ты делаешь запрос по определенному адресу, чпу преобразует, что в результате в пыхе? print_r($_SERVER);

ЧПУ отрабатывает как надо, я не могу перенаправить пользователя в его город, который записывается в COOKIE. Проблема только с печеньками.

_____________
Принимаю заказы, писать в ЛС
AllesKlar
GeoN=%D0%AF%D1%80%D0%BE%D1%81%D0%BB%D0%B0%D0%B2%D0%BB%D1%8C; expires=Wed, 04 May 2016 23:18:34 GMT; path=/useful/; domain=auto-hab.ru

А зачем тебе кука на /useful/ ? Ставь на весь домен.

Цитата (Медведь @ 5.05.2016 - 00:21)
я не могу перенаправить пользователя в его город, который записывается в COOKIE

вот тут подробнее.. показывай, как отправляешь

_____________
[продано копирайтерам]
Миша
Цитата (AllesKlar @ 5.05.2016 - 02:21)
А зачем тебе кука на /useful/ ? Ставь на весь домен.

Там два раздела есть: Полезное и Взаимопомощь, поэтому на каждый раздел.

_____________
Принимаю заказы, писать в ЛС
redreem
т.е. вот с этим:
$a = urldecode($_COOKIE['GeoN']);
$b = urldecode($_COOKIE['GeoR']);
header('Location: auto-hab.ru/useful/' . $a . '/' . $b . '/';

проблемы?
Миша
Цитата (AllesKlar @ 5.05.2016 - 02:21)
вот тут подробнее.. показывай, как отправляешь

Проверяю стоит или нет кука (здесь и отваливается), потом если данные реальные отправляю пользователя по тем данным которые у него записаны.

_____________
Принимаю заказы, писать в ЛС
Миша
Цитата (redreem @ 5.05.2016 - 02:25)
т.е. вот с этим:
$a = urldecode($_COOKIE['GeoN']);
$b = urldecode($_COOKIE['GeoR']);
header('Location: auto-hab.ru/useful/' . $a . '/' . $b . '/';

проблемы?

Нет, надо для начала проверить стоит или нет печенька, раньше отрабатывало ровно, сейчас не видит, что кука стоит.

_____________
Принимаю заказы, писать в ЛС
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.