Как сделать в .htaccess редирект файлов с русскими символами в названии?

S
На сайте с 02.06.2008
Offline
16
1470

Так получилось, что на мой сайт в Интернете стоит несколько "битых" ссылок, в которых, вместо английской "c" стоит русская буква "c". Пытаюсь сделать 301 редирект с битой ссылки на нормальную страницу, но никак не удается заставить сервер ее принимать. Даже регулярным выражением:

redirectmatch 301 ^/(.)d-disc.shtml$ http://сайт/cd-disc.shtml

не получается - для латинских символов работает, а на русскую букву "эс" не действует. Никто не подскажет, что я делаю неправильно, и в чем может быть проблема?

AK
На сайте с 27.01.2009
Offline
3
#1

А что это у тебя за слэш после ^? Вроде как неправльное регулярное выражение написал.

______________ www.artgroup.by (http://www.artgroup.by)
[Удален]
#2

я не знаю как работает редиректматч, может там слеш и нужен. Если пользоватсья mod_rewrite, там точно нет. А русские символы чтобы отловить в регулярках нужно их в утф конвертнуть.

J
На сайте с 02.02.2009
Offline
53
#3

Возможно будет лучше сделать редирект в скрипте.

[Удален]
#4
/....

=

может тебе стоит попробовать в encode'dе поковыряться?

bearman добавил 08.04.2009 в 20:27

=

S
На сайте с 02.06.2008
Offline
16
#5
А что это у тебя за слэш после ^? Вроде как неправльное регулярное выражение написал.

Я не особо разбираюсь, но говорю же, для латинских символов прекрасно работает (в частности, для обычного "cd" выдает ошибку о замкнутом круге), так что выражение правильное.

я не знаю как работает редиректматч, может там слеш и нужен. Если пользоватсья mod_rewrite, там точно нет. А русские символы чтобы отловить в регулярках нужно их в утф конвертнуть.

Т.е. просто точка (любой символ) для русской буквы не канает потому что сервер воспринимает это не как один символ а как какой-нибудь %d1%81? Вот это ценная мысль, сейчас попробую покрутить!

А вообще, что касается %D1%81 - это было первым, что я попробовал, т.к. именно такую битую ссылку мне выдал Google Webmaster Tools (собственно, так я и определил сам факт ее наличия). Но конкретно для %d1%81 не смог настроить.

Спасибо за советы, сейчас буду пробовать еще по-всякому.

Pike
На сайте с 13.07.2004
Offline
79
#6

Поставьте (.*) вместо (.) и не мучайтесь 🚬

free hosting (http://rahost.com)
S
На сайте с 02.06.2008
Offline
16
#7

Можно, но тогда пропадет dvd-disc :)

Pike
На сайте с 13.07.2004
Offline
79
#8
sphinx:
Можно, но тогда пропадет dvd-disc :)

RewriteCond %{REQUEST_FILENAME} !-f - и ниодин живой фал не пострадает :)

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