powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / регексп в RewriteRule - подскажите, где накосячил?
8 сообщений из 8, страница 1 из 1
регексп в RewriteRule - подскажите, где накосячил?
    #33490300
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Впервые столкнулся с выражениями альтернативы в регекспах.
Когда раньше в .htaccess писал нечто вроде
RewriteRule ^(.*)news/([0-9]+).htm$ $1news/index.php?pid=$2
все отрабатывалось замечательно.
А тут понадобилось нечто посложнее. В итоге родилось вот что:

RewriteRule ^(.*)sm/([a-z]+)/(?:(?:([0-9]*))|(?:([0-9]+)\.(htm)))$
$1sm/index1.php?cat=$2&page=$3&pid=$4&htm=$5

Пока оно писАлось и тестировалось на машине под Виндами - все работало вроде
бы. Да и сейчас работает. Но как только залил на сервер под FreeBSD
(Apache/1.3.33) - тут же получил ошибку 500. Формат файла UNIX - проверил.
Косяк именно в этой строке (когда ее закомментировал - ошибка пропала).

Подскажите, в чем проблем? Может в RewriteRule просто нельзя писать такие
выражения?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490302
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выражение записано естественно в одну строку, а не в две....

Эх, никак не выучу тэги форматирования для форума :((


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490492
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В error_log ничего про это не написано? Не бесконечная ли рекурсия?
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490500
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заглянул и в лог. Ничего интересного...
RewriteRule: cannot compile regular expression
'^(.*)sm/([a-z]+)/(?:(?:([0-9]*))|(?:([0-9]+)\\.(htm)))$'\n
Так понимаю, что не понимает он этот синтаксис...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490520
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу тока посоветовать упрощать в направлении исходного - и пробовать.
Наёдёшь на чём слетает. Может можно будет обойти....

Смотрел, думал, но так и не понял что оно делает...
Цифры тока увидел, где по шаблону


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490528
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу... доупрощался до бредового
^(.*)sm/([a-z]+)/([0-9]*)\.{0,1}(h{0,1}t{0,1}m{0,1})$
это работает... Но написано то как то коряво :(

А вот это
^(.*)sm/([a-z]+)/([0-9]*)(?:\.(htm)|)$
и это
^(.*)sm/([a-z]+)/([0-9]*)(\.(htm)|)$
уже дает ошибку

Как ему правильно сказать что подстрока '.htm' может быть или не быть только
целиком?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490542
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю тмошнего синтаксиса...
Но не это ли "|" ему не нравится?...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
регексп в RewriteRule - подскажите, где накосячил?
    #33490573
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже на то...
Переписал. Теперь вместо одного RewriteRule стало два. И все довольны.
А так хорошо все начиналось....


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / регексп в RewriteRule - подскажите, где накосячил?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]