Редирект с несуществующей папки на другой адрес

Максим2

Новичок
Например пользователь ввел www.sait.ru/cat/любое_несуществующее_название, а такой папки в папке cat нет, то тогда редирект на указанный адрес, например www.sait.ru/error.php.
Но в то же время редирект с любой другой несуществующей страницы например www.sait.ru/несуществующий_файл должен осуществляется на страницу www.sait.ru/error404.php к примеру или не осуществляется вовсе.
 
А зачем такое странное поведение?
Даже если не рассматривать столь странную архитектуру.
Чем не устраивает на любые 404 ошибки запускать 1 и тот же скрипт?
И, самое главное - почему редирект?
 
Чем не устраивает на любые 404 ошибки запускать 1 и тот же скрипт?
Ну потому что на самом деле при несуществующей папки должна быть не ошибка, это я для примера написал "error.php" - в данном случае несуществующее название папки должно передаться файлу в качестве переменной.
 
А зачем такое странное поведение?
Попробую поподробнее задачу объяснить:
Хочу сделать на сайте автоматическое создание поддоменов, но они должны формироваться двумя разными путями первый путь - создание папки поддомена, второй путь указание файла, редирект на который должен осуществляться при запросе поддомена. Нужно, чтобы вначале был просмотр есть ли папка с поддоменом, если есть данные берутся из нее, если нет то из указанного файла.
 
Да. Для понимания вопроса было бы неплохо понять, почему то решение не подходит здесь?
 
— и чем же та проблема отличается от озвученной здесь?
Может Вы такой Гуру в .htaccess что для Вас это практически не отличается, а мне сложно разобраться. В прошлой теме я о поддоменах не думал, код был совершенно другой, задачи тоже несколько иные, на мой взгляд, это совершенно другой вопрос.
 
Может я немного неправильно выразился - предыдущий вопрос я решил, но там и сама суть изменилась тоже. То есть если бы сейчас задавал вопрос проблему по которому я решил, то он бы звучал совершенно иначе. Можете считать, что предыдущий вопрос так и остался нерешенным, просто изменилась задача и решение ее тоже изменилось.
Пожалуйста, давайте вернемся к вопросу данной темы.
Есть вот такой код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.сайт\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.сайт\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/sub
RewriteRule ^(.*) %{HTTP_HOST}/$1
RewriteRule ^(.*)\.сайт\.ru(.*) /sub/$1$2
RewriteRule ^sub\.(.*) /sub/$1

Для перенаправления на папку поддомена. Он работает. Хотя если честно я в нем не разобрался до конца.
Мне теперь нужно: если папки с названием введенного поддомена нет, то тогда управление должно передаться другому файлу.
Простите если что не так спрашиваю. Я исправлюсь с Вашей помощью )))
 
Нет. Задача одна и та же, вопрос такой же.
Причем ты и сам это понимаешь - в изначальном вопросе про субдомены даже не упомянул.

В чем конкретно твоя проблема с имеющимся у тебя решением?
 
Ох, не знаю.
Лично я, если бы стал делать по такому принципу, то файлы для "ручных" доменов клал бы не в папку, а в отдельный виртуалхост (которым, по факту, они и являются).
А все автоматические субдомены обрабатывал виртуально.

Но что-то мне подсказывает, что такое решение тебя не устроит.
 
О! тогда всё ещё проще!
тогда тупо что-то вроде такого
RewriteCond %{HTTP_HOST} ^(.+)\.сайт\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.сайт\.ru$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /sub/index.php
 
Сверху