Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » htaccess

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
RewriteRule ^([^.]+)(?!page/)id(\d+)(?[^.]+)?)?\.html$ index.php [L]
RewriteRule ^id(\d+)(?[^.]+)?)?\.html$ index.php?var=val [L]
 

 
Второе регулярное выражение не работает с кириллицей. Если url будет в таком виде:
id709-заголовок.html, регулярка не отработает, а если id709-title.html - отработает.
В первом регулярном выражении кириллица распознается, но не работает если убрать из начала ([^.]+), таким образом в корневом каталоге кодировка не распознается. В чем может быть проблема?
 
Добавлено:

Код:
 
RewriteRule ^([^.]+)(?!page/)id(\d+)(?:\-([^.]+)?)?\.html$ index.php [L]
RewriteRule ^id(\d+)(?:\-([^.]+)?)?\.html$ index.php?var=val [L]
 

 
Добавлено:
это без смайлов
 
Добавлено:
Это если кодировать с помощью urlencode, т.е. будет символ %
 
Добавлено:
И скажите, есть ли вообще смысл использовать кириллицу в url в каком-либо виде - закодированном или незакодированном.
 
Добавлено:
имел в виду если после участка ([^.]+) добавить знак вопроса, его наличие все равно будет обязательным
 
Добавлено:
Немного запутался.
Смотрите этот пример:

Код:
 
^([^.]+)?(?!page/)id(\d+)(?[^.]+)?)?.html$
 

 
Он отрабатывает если передаются любые символы кроме %.
Экранирование не помогает.
 
Добавлено:
[^.] - это все кроме точки. Похоже что в htaccess точки в скобках определяются именно как точки, а не любые символы.
Выяснил кое-что.
Если данное правило отрабатывает для символы процента (%) только первый раз.
 
Добавлено:
Данное правило отрабатывает для символов процента (%) только первый раз.
 
Добавлено:
Нет, ошибся.
 
Добавлено:
Вот так:
в корневой директории правило не работает для символа процента.
 
Добавлено:
Похоже, что так и есть.
 
Никто не подскажет, как можно это обойти?
 
Добавлено:
Забавно что такая запись ^.+$ приводит к ошибке.
 
Добавлено:
В документации к апачу есть такая запись [^/], у меня же она не срабатывает и приводит к ошибке... бред какой-то
 
Добавлено:
RewriteRule ^([^/]+)$ index.php?var=$1
Проблема при загрузке страницы
 
Добавлено:
[L] добавил
 
Добавлено:
Я так понял, что в корне пути много чего не работает. Видимо придется транслитировать символы.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 19:30 13-12-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » htaccess


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru