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] добавил Добавлено: Я так понял, что в корне пути много чего не работает. Видимо придется транслитировать символы. |