регвыражение для ссылки /avtoshini/nokian/index.html

AlekseyK

Новичок
регвыражение для ссылки /avtoshini/nokian/index.html

хочу распарсить ссылку типа /avtoshini/nokian/index.html
при том что ссылки /avtoshini/nokian/ и /avtoshini/nokian - как будто на сервере есть директория /avtoshini/nokian и файлов index.html

нужно гарантировать что запросы типа /avtoshini/nokian/index.html12345 - работать не будут

не пойму как написать регулярное выражение


preg_match( /^\/avto(.*)\/([\w\-]+)(\/?)$/i, $m ) - работает

если добавить index.html то
preg_match( /^\/avto(.*)\/([\w\-]+)(\/?[index\.html]?)$/i, $m ) - не работает

подскажите как написать условие в котором наличие /index.html необязательно в конце строки и то что index.html не может быть без "/", "/" может самостоятельно завершать строку запроса.
 

AlekseyK

Новичок
freeek спасибо
но ваше выражение слишком избыточно и не отсекает не нужные варианты

\/(?:\w+\.html)?$% - будет соответствовать
- /index.html
- /detault.html
- /abrakadabra.html

последний вариант не допустим

нам необходимо явно задать наличие index.html конце строки запроса

я написал так
Код:
^/avto(\w+)/(\w+)(?:/?(index.html?)?)$
ссылка может оканчиваться на
- /index.html
- /index.htm
- /
- последнюю букву имени категории

что соответствует поведению апача при
"DirectoryIndex index.html index.htm"
 
Автор оригинала: AlekseyK
freeek спасибо
но ваше выражение слишком избыточно и не отсекает не нужные варианты
AlekseyK
А я бы был построже по отношению к freeek... иш какую ***ню наваял! Это же сплошные баги... немедленно верните выражение ему на доработку!
 

freeek

Новичок
а в чем заключается ***ня? и где тут баги?

возможно не допонял т.з.

логика простая:
- n-е кол-во директоий, но минимум одна должна быть
- обязательный последний слеш
- некий файл, оканчивающийся на .html

по поводу последнего, пусть сам добавит что ему надо, набор альтернатив
 
Сверху