[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с ЧПУ .htaccess
lincorn
Доброго все времени суток!
Не так давно я тут задавал вопрос по поводу преобразования динамического в статический URL,
и с тем вопросом разобрался полностью НО, как следствие, появилась опять загвоздка которую нужно как-то решить <_<

Так вот собсно описание проблемы (постараюсь как можно подробней)!

Скажем есть сайт (для простоты просто одна страничка) index.php там же файлик .htaccess
скажем с таким содержанием:


index.php

$x="трам";
echo "<a href=\"http://test/тест/".$x."/\">ссылка</a>

<br /><br />А вот что переданно после клика - "
.$_GET['x'];



.htaccess (с правилом преобразования)

AddDefaultCharset windows-1251

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^тест/([a-zA-Zа-яА-Я]+)/$ /?x=$1


так вот:

При переходе по линку (который выглядит как http://test/тест/трам/) получаю 404 ошибку,
а вот если если переменную задать как латиницу ( т.е. $x="tram"; ) то все пройдет как по маслу (URL теперь http://test/тест/tram/ и на выходе получаем -
" А вот что переданно после клика - tram "
Можно конечно было бы передать параметр и на латинице, но этож не наш метод :) спать не буду а способ передать кирилицей найду! :)

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

p/s/ .htaccess сохранен в кодировке UTF-8



Спустя 3 минуты, 10 секунд (8.11.2011 - 21:32) Winston написал(а):
А так ?
RewriteRule ^тест/(.*)/$ /?x=$1


Спустя 5 минут, 56 секунд (8.11.2011 - 21:38) lincorn написал(а):
в общем пошло, хоть и кракозябликами но это уже гемор "инкода".
Вот не пойму почему не пошло по первой регулярке, где ошибка?

Спустя 39 минут, 6 секунд (8.11.2011 - 22:17) PandoraBox2007 написал(а):
Вы сами ссылке на сайте испортили, потому что не используете.
urlencode / urldecode
rawurldecode / rawurlencode

Линки как в википедии

Без кодирования htaccess не принимает кирилицу, многие вещи в апатче нативно с юникодом еще не работаю

Спустя 15 минут, 10 секунд (8.11.2011 - 22:32) lincorn написал(а):
По правде сказать ничерта не понял на счет кто что испортил...
С примененным (.*) сейчас все статические странички, URL которых состоит из кирилицы, пашут отменно.

Вот только если бы вместо (.*) прикрутить "правила для кирилицы".... то я избавился от лишних php строк проверки GET переменных...


Спустя 1 минута, 25 секунд (8.11.2011 - 22:34) PandoraBox2007 написал(а):
немного поправлю предведущий пост

решений 2
1) кодирование ссылок
2) использовать юникод на всем сайте и ссылки сами перекодируються
Быстрый ответ:

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