Почему этот RegEx терпит неудачу?
Цель состоит в том, чтобы переписать:
http://example.com/Almost-Anything-Here/381
-> /lv.php?id=381&%{QUERY_STRING}
Обратите внимание, чтоЯ игнорирую текст в URL и просто пытаюсь получить номер (в данном примере, 381), который я передаю lv.php
.
Вот правило:
RewriteRule ^[/]?[A-Za-z0-9\-_(\.)*]+/([0-9]+)$ /lv.php?id=$1&%{QUERY_STRING} [L]
Работает, если есть 0, 1 или 2 периода, но не работает (с HTTP 500) в течение 3 или более периодов.Зачем?!Я попробовал несколько способов избежать / захватить период в регулярном выражении, но безуспешно.
Пример тестовых URL:
ОБНОВЛЕНИЕ Вот сообщение об ошибке сжурнал сервера, явно проблема с регулярным выражением, все еще не уверен, почему ...
Access denied with code 500. Pattern match "\\\\.\\\\.\\\\./" at REQUEST_URI. [msg "Bogus Path denied"] [hostname "www.example.com"] [uri "/Great.../381"]