гемор с субдоменами

hardcore

Новичок
Мужики, выручайте, третьи сутки не сплю.

Есть такое правило

RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9_-]+).site\.ru([a-zA-Z0-9_-]+)?
RewriteRule ^(.*).site.ru/?(.*)$ handler.php?param=%1&paramtwo=%2 [L]

В апаче алиасы прописаны, но правило работает наполовину. Т.е. param.site.ru открывается так как нужно, а
param.site.ru/paramtwo либо выдает 404, мол не найдено, либо никак не реагирует, открывая страницу param.site.ru

Подскажите, почему не передается второй параметр?
 
Никогда не понимал тех пользователей пхп, которые зачем-то пытаются работать с субдоменами через мод рерайт.
 
Выкинуть это правило на помойку и написать как все

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) handler.php [L]
 
Почему вообще у вас несколько доменов в один сайт приходит, что вы их пытаетесь в .htaccess рулить?
Разрулите их уже на уровне виртуалхостов, либо отдайте рулёжку в PHP, как @Фанат предложил.
Хватит дурью маяться.
 
Последнее редактирование:
Почему вообще у вас несколько доменов в один сайт приходит, что вы их пытаетесь в .htaccess рулить?
Разрулите их уже на уровне виртуалхостов, либо отдайте рулёжку в PHP, как @Фанат предложил.
Хватит дурью маяться.
Потому что для каждого клиента свой "сайтик" на поддомене создается. Мне было геморно каждому отдельно создавать, особенно когда их число начало расти. Вот и полез в эти дебри.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) handler.php [L]
А это выдает интернал эррор на всем сайте, в том числе и на основном домене.
 
Вот и полез в эти дебри.
В том-то и дело что не надо ни в какие дебри лезть. Mod_rewrite для обработки субдоменов не нужен.
А это выдает интернал эррор
Ну так надо посмотреть в логе сервера, что конкретно ему не нравится
 
Нет, я так не думаю.
Поэтому и написал в сообщении несколько больше, чем вы процитировали.
Именно поэтому следует стараться писать как можно меньше. К примеру, процитированный мной вопрос был бессмысленным.
 
Вот и решение, если кому-то будет необходимо. (sub.site.ru/param)

RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9_-]+)\.site\.ru$ [NC]
RewriteRule ^([^/]*)$ handler.php?sub=%1&param=$1 [QSA,L]
 
Все-таки это совершенно поразительное упорство, с которым хомячки преодолевают несуществующие проблемы...
Эту страну не победить.
 
Все-таки это совершенно поразительное упорство, с которым хомячки преодолевают несуществующие проблемы...
Эту страну не победить.

Я, разумеется, признаю, что далеко не гуру программирования и в момент острой необходимости прибегаю к первому работающему коду. Но Вы, в свою очередь, если хотите помочь, о чем я просил ранее, могли бы доступно объяснить "хомячку", как справиться с поставленной задачей, не плодя говнокод.
 
Я, разумеется, признаю, что далеко не гуру программирования и в момент острой необходимости прибегаю к первому работающему коду. Но Вы, в свою очередь, если хотите помочь, о чем я просил ранее, могли бы доступно объяснить "хомячку", как справиться с поставленной задачей, не плодя говнокод.
Проблема в том, что ты пришел не за помощью, а чтобы рассказать всем, какой ты умный.
Вот и сейчас пытаешься рассказать мне, что это я виноват в твоих проблемах.
Если бы ты действительно хотел разобраться, то давно бы уже прочитал ответ, который тебе уже несколько раз написали.
 
Проблема в том, что ты пришел не за помощью, а чтобы рассказать всем, какой ты умный.
Вот и сейчас пытаешься рассказать мне, что это я виноват в твоих проблемах.
Если бы ты действительно хотел разобраться, то давно бы уже прочитал ответ, который тебе уже несколько раз написали.

Отнюдь. Всем плевать, насколько я умный. И в проблеме никто не виноват. Она появилась - ее необходимо решить. Своими силами не получилось, я полез на кучу форумов, на одном из которым мне дали адекватное и понятное объяснение того правила, что я здесь оставил.
А насчет Вашего ответа, что Вы любезно предоставили выше: я написал, что у меня не работает тот код, и я не понимаю, почему.
Если Вы все-таки понимаете, что я ни в коем случае не пытаюсь Вас принизить (это глупо) или возвысить себя (даже смешно), был бы признателен за доступное объяснение, как применить данный код.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) handler.php [L]

И как он способен рерайтить параметры после sub.site.ru/
 
Проблема в том, что ты думаешь, что обязательно надо реврайтить.

Хотя нет никакой разницы, смотреть в коде в $_GET['sub'] или в $_SERVER['HTTP_HOST'].
 
Сверху