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

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

Подскажите, почему не передается второй параметр?
 

Фанат

oncle terrible
Команда форума
Никогда не понимал тех пользователей пхп, которые зачем-то пытаются работать с субдоменами через мод рерайт.
 

Фанат

oncle terrible
Команда форума
Выкинуть это правило на помойку и написать как все

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

AnrDaemon

Продвинутый новичок
Почему вообще у вас несколько доменов в один сайт приходит, что вы их пытаетесь в .htaccess рулить?
Разрулите их уже на уровне виртуалхостов, либо отдайте рулёжку в PHP, как @Фанат предложил.
Хватит дурью маяться.
 

Фанат

oncle terrible
Команда форума
Последнее редактирование:

hardcore

Новичок
Почему вообще у вас несколько доменов в один сайт приходит, что вы их пытаетесь в .htaccess рулить?
Разрулите их уже на уровне виртуалхостов, либо отдайте рулёжку в PHP, как @Фанат предложил.
Хватит дурью маяться.
Потому что для каждого клиента свой "сайтик" на поддомене создается. Мне было геморно каждому отдельно создавать, особенно когда их число начало расти. Вот и полез в эти дебри.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) handler.php [L]
А это выдает интернал эррор на всем сайте, в том числе и на основном домене.
 

Фанат

oncle terrible
Команда форума
Вот и полез в эти дебри.
В том-то и дело что не надо ни в какие дебри лезть. Mod_rewrite для обработки субдоменов не нужен.
А это выдает интернал эррор
Ну так надо посмотреть в логе сервера, что конкретно ему не нравится
 

Фанат

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

hardcore

Новичок
Вот и решение, если кому-то будет необходимо. (sub.site.ru/param)

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

Фанат

oncle terrible
Команда форума
Все-таки это совершенно поразительное упорство, с которым хомячки преодолевают несуществующие проблемы...
Эту страну не победить.
 

hardcore

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

Фанат

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

hardcore

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

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

И как он способен рерайтить параметры после sub.site.ru/
 

fixxxer

К.О.
Партнер клуба
Проблема в том, что ты думаешь, что обязательно надо реврайтить.

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