|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Регулярное выражение. Не работает а-яА-Я |
|
Регулярное выражение. Не работает а-яА-Я
|
Ветеран Сообщения: 823 |
похоже, у меня на хостинге не работает такое правило, как а-яА-Яa-zA-Z
Нужно сделать запись в .htaccess Подскажите, как обратиться в хостинг с вопросом. Какой модуль или библиотека должна стоять у них на сервере для правильного отображения кириллических букв в регулярных выражениях? Хостинг - Линукс вообщем вот такое выражение не фурычит: RewriteRule ^([а-яА-Яa-zA-Z0-9\_\-]+)\/([0-9]+)\/[\+а-яА-Яa-zA-Z0-9\_\-\(\)\:\.\-]+\.htm$ index.php?production=$1&id=$2 [L] хотя может проблема быть в какой то кодировке Мне вот отвечает такими символами странными The requested URL /инÑÑ‚Ñ?укциÑ/ÐбÑ?а-КадабÑ?а/10/ТеÑÑ‚.pdf was not found on this server. |
|
------- Отправлено: 23:54, 19-10-2010 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать где лежит конфиг, и в какой кодировке сохранен?
|
Отправлено: 00:55, 12-11-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Sham:
|
|
------- Отправлено: 01:07, 12-11-2010 | #12 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать С передним слешем непонятно (какой путь получает правило, если с передним слешем, то добавьте \/? вначале). Сложно, не видя всего. Так вроде без ошибок.
|
Отправлено: 01:28, 12-11-2010 | #13 |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать В корне:
/ enca -L ru .htaccess Universal transformation format 8 bits; UTF-8 Doubly-encoded to UTF-8 from ISO-8859-5 /config enca -L ru * config.inc.php: 7bit ASCII characters index.php: 7bit ASCII characters settings.inc.php: 7bit ASCII characters smarty.config.inc.php: 7bit ASCII characters RewriteRule ^\/?([a-zA-Zа-яА-Я0-9\%\-]+)/([0-9]+)\-(.*)\.html(.*)$ /product.php?id_product=$2$4 [L,E] |
------- Отправлено: 01:36, 12-11-2010 | #14 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать а зачем флаг E? он для переменной...
|
Отправлено: 01:45, 12-11-2010 | #15 |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Sham:
движок: prestashop |
|
------- Отправлено: 01:45, 12-11-2010 | #16 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать имхо сервер неправильно декодирует путь и правило получает уже неверную кодировку. Попробуйте вывести, что получает правило (echo $_SERVER['QUERY_STRING'] //upd: или $_GET['all'] тогда) c правилом
upd: без условия может зациклить и смотрите кодировку этих символов так имхо надежнее |
Последний раз редактировалось Sham, 12-11-2010 в 02:56. Причина: upd Отправлено: 02:22, 12-11-2010 | #17 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать apache 2.2, htaccess в utf8: если в правиле напрямую кириллицу указывать, то работает, если в 16-ричном (типа \xC1) - то нет. Но при выводе пути (в браузер) кириллица все-равно преобразована неправильно.
Т.е. с кириллицей в пути URLa лучше не связываться, т.к. непонятно, как декодируются из экранированного пути. При этом get-параметры декодируются веб-сервером правильно, как ни странно. Можно предположить, что экранированный путь декодируется в системную кодировку сервера (в кодировку файловой системы), из-за этого неувязочка. |
Отправлено: 05:34, 12-11-2010 | #18 |
Ветеран Сообщения: 823
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Sham:
я вот, если сам какой то движок мини делаю, то с кириллицей поступаю так. В .htaccess пишу: AddDefaultCharset UTF-8 DirectoryIndex index.php Options +FollowSymlinks RewriteEngine On RewriteRule .* index.php
ну и т.п. прокомментриуйте пожалуйста способ)) |
|
------- Отправлено: 10:47, 12-11-2010 | #19 |
Deadooshka Сообщения: 2517
|
Профиль | Отправить PM | Цитировать если
Цитата Artem-Samsung:
Цитата Artem-Samsung:
в правиле можно направлять на этот скрипт только урлы, содержащие нелатиницу [^\w] или [^a-zA-Z0-9\/\-\_\.] - и в таком духе (набор символов определяется на практике). не спамь в полезняшки |
||
Отправлено: 18:40, 12-11-2010 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Регулярное выражение | venuko | Вебмастеру | 11 | 02-08-2010 18:18 | |
Регулярное выражение: вырезать данные между тегами | venuko | Вебмастеру | 6 | 04-06-2009 16:59 | |
Регулярное выражение для проверки денежной суммы | BuilderMan | Вебмастеру | 9 | 23-08-2006 11:24 | |
регулярное выражение на пхп. | Drem | Вебмастеру | 13 | 22-07-2006 00:16 | |
Регулярное выражение | benya | Вебмастеру | 27 | 26-08-2005 14:34 |
|