Преобразование кодировок с помощью .htaccess

12
[Удален]
1475

Здравствуйте

Возник вопрос в связи с использованием ЧПУ ссылок.

сайт имеет кодировку UTF-8

на сайте есть каталог my.site.com/каталог

при этом в логах апача он отображается как my.site.com/%D0%BE%D1%82%D0%B2%D0%

_

если ввести в строке браузера любой из вариантов

а) my.site.com/каталог

б) my.site.com/%D0%BE%D1%82%D0%B2%D0%

то попадаем на одну и ту же страничку

Но в логах апача я увидел, что на мой сайт кто-то пытается зайти по ссылке в виде

my.site.com/\xd0\xbe\xd1\x82\xd0\xb2\

естественно, в таком случае он получает банан, тоесть 404

Проблема еще в том, что AdSense тоже плохо переваривает мою кирилицу и блокирует странички по причине 404

Вопрос

Можно ли как-то преобразовывать "на лету" обращения из другой кодировки в UTF-8 ?

Вроде как это можно сделать с помощью .htaccess но как ? Моих знаних для этого маловато :(

[Удален]
#1

my.site.com/%D0%BE%D1%82%D0%B2%D0%

ты понимаешь вообще что это? Если нет то не мели чушь.

На сайте с 13.11.2009
Offline
42
#2
my.site.com/%D0%BE%D1%82%D0%B2%D0%

Это латиница.

Попробуй так my.site.com/katalog

Забью болт в подпись - 10$
[Удален]
#3
Это латиница.

Что что?? )))))))

Jake Foley
На сайте с 16.08.2008
Offline
151
#4

я пробовал в htaccess указать кодировку - не помогло - у меня такая же проблема 🚬

MM
На сайте с 29.05.2009
Offline
6
#5

хм.. не знаю что это за кодировка, но можно попробовать добавить в .htaccess

RewriteEngine On

RewriteBase /

RewriteRule ^\\([a-z0-9]*)\$ iconv.php?q=$1

а в самом iconv.php перенаправлять на соответствующую страницу. тут нужно посмотреть в сторону iconv и преобразования кодировок в самом php. В самом простом случае можно сделать так:

if($_GET['q'] == '\xd0\xbe\xd1\x82\xd0\xb2\')

header("Location: /каталог");

но все же лучше не использовать кириллицу в именах страниц. у тебя же не википедия [=

dvaes
На сайте с 03.09.2007
Offline
65
#6

а вы хотели и рыбку съесть и на кол сесть?) естественно кириллица будет кодироваться в адресе)

причем, если вы используете utf-8, будьте готовы, что вам будет приходить и кодированные символы не utf-8. вот, например, %EA%E0%F2%E0%EB%EE%E3 и %D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3 означают одно и то же, только в первом варианте, думается мне, у вас будет 404. в общем, подумать сначала стоит, надо ли использовать кириллицу в адресе или нет)

[Удален]
#7

плюсы очень заметны - вес страничек яндексе заметно растет, если в адресе встречаются ключевые слова....

Попробовал выставить везде где только можно (апач, сайт и т.д. и т.п.) указания на кодировку UTF-8, вроде помогло. Но по старым ссылкам в неправильной кодировке всеравно заходят, в менджере ЧПУ-ссылок я могу выствить принудительную переадресацию таким обращениям на нужну страницу, но только вручну....а если можно вручную, значит можно сочинить скрипт или "колесо" уже изобрели до меня и воспользоваться готовым решением.... Может кто подскажет ?

[Удален]
#8

ветка не меняется, темы одни и теже, лица разные ...

[Удален]
#9
bearman:
ветка не меняется, темы одни и теже, лица разные ...

А по теме ?

[Удален]
#10

stanislav777, а зачем?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий