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

Максим2

Новичок
Например пользователь ввел www.sait.ru/cat/любое_несуществующее_название, а такой папки в папке cat нет, то тогда редирект на указанный адрес, например www.sait.ru/error.php.
Но в то же время редирект с любой другой несуществующей страницы например www.sait.ru/несуществующий_файл должен осуществляется на страницу www.sait.ru/error404.php к примеру или не осуществляется вовсе.
 

Фанат

oncle terrible
Команда форума
А зачем такое странное поведение?
Даже если не рассматривать столь странную архитектуру.
Чем не устраивает на любые 404 ошибки запускать 1 и тот же скрипт?
И, самое главное - почему редирект?
 

Максим2

Новичок
Чем не устраивает на любые 404 ошибки запускать 1 и тот же скрипт?
Ну потому что на самом деле при несуществующей папки должна быть не ошибка, это я для примера написал "error.php" - в данном случае несуществующее название папки должно передаться файлу в качестве переменной.
 

Максим2

Новичок
А зачем такое странное поведение?
Попробую поподробнее задачу объяснить:
Хочу сделать на сайте автоматическое создание поддоменов, но они должны формироваться двумя разными путями первый путь - создание папки поддомена, второй путь указание файла, редирект на который должен осуществляться при запросе поддомена. Нужно, чтобы вначале был просмотр есть ли папка с поддоменом, если есть данные берутся из нее, если нет то из указанного файла.
 

Фанат

oncle terrible
Команда форума
Да. Для понимания вопроса было бы неплохо понять, почему то решение не подходит здесь?
 

Максим2

Новичок
— и чем же та проблема отличается от озвученной здесь?
Может Вы такой Гуру в .htaccess что для Вас это практически не отличается, а мне сложно разобраться. В прошлой теме я о поддоменах не думал, код был совершенно другой, задачи тоже несколько иные, на мой взгляд, это совершенно другой вопрос.
 

Максим2

Новичок
Может я немного неправильно выразился - предыдущий вопрос я решил, но там и сама суть изменилась тоже. То есть если бы сейчас задавал вопрос проблему по которому я решил, то он бы звучал совершенно иначе. Можете считать, что предыдущий вопрос так и остался нерешенным, просто изменилась задача и решение ее тоже изменилось.
Пожалуйста, давайте вернемся к вопросу данной темы.
Есть вот такой код:
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

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

Фанат

oncle terrible
Команда форума
Нет. Задача одна и та же, вопрос такой же.
Причем ты и сам это понимаешь - в изначальном вопросе про субдомены даже не упомянул.

В чем конкретно твоя проблема с имеющимся у тебя решением?
 

Фанат

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

Но что-то мне подсказывает, что такое решение тебя не устроит.
 

Фанат

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