Вопрос такой дурацкий, что даже затрудняюсь, с какой стороны его охаять.
Особенно радует запрашиваемый результат, "...и вышел таки обратно на Дерибасовскую"
Эм... Не знаю, что тут дурацкого, но уточнюсь:
Сейчас замена типа: ^/(A-Za-z)$ /catalog/$1
Но я не могу ставить правило именно на catalog ибо их много, названия разные и для каждой страницы свой. А через запрашиваемый урл передать где-то значение "catalog" не могу, дабы нужна ссылка, буд-то файлы в корне лежат.
Также я не могу взять название страницы и с помощью бд вывести название каталога, ибо структура вывода страниц построена не мной и править ее не могу
Ну так я получу с перехода по site.ru/2.php ссылку 2.php в index.php
Но после нужно определить в какой директории лежит этот файл, что бы подцепить меню раздела (директории). Не перебором же на exist. А в бд инфо о разделах и страницах не лежит.
Дак смотри...у тебя получается, что первой директорией является razdel и только потом 2.php, через file_exists или is_dir проверяешь наличие директории, если есть, то из нее цепляешь нужный тебе файл, если нету, то кидаешь 404. Я не вижу особой проблемы использовать is_dir или file_exists, если конечно посещаемость не бешенная.
Согласен.. Но там много что завязано на этом... Это Битрикс(
Но из урла не известно где лежит этот файл и в какой директории. И если его цеплять перебором всех фалов во всех папках уже предопределенных в коде, то если менеджер создаст раздел, то его надо будет снова определить в коде
Если это битрикс, то можно автоматизировать процесс формирования ссылки "URL -> file". Там есть инструменты, типа событий, которые можно использовать для формирования подобного списка. Если поподробней опишите ситуацию, то возможно я смогу вам помоч. Под подробным описанием я имею ввиду, организацию структуры сайта.
Задача перенести сайт на битрикс оставив урлы старые.
В управлении структурой создаем разделы, внутри них файлы и в зависимости от раздела подключается файл с меню.
Получается что-то типа... site.com/razdel/page1.php
Но ссылки надо сделать старые типа site.com/page1.php
Разделов и страниц много, уровня 3 вложенности точно есть
Сделал рерайт в htaccess типа что последнее после слеша идет в переменную page, а внутри хедер.пхп который перебирает директории, чтобы найти файл и понять откуда цеплять меню и сам файл.
Но если менеджер добавит директорию и страницу новые, то придется в index.php еще прописать эту директорию, чтобы скрипт рылся в ней для поиска меню раздела и страницы