Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > [apache] доступ только на один хост


Автор: admsasha 30.11.2009, 03:50
На apache подняты несколько виртуальных хостов на один IP. Стоит задача конкретную сетку перенаправлять со всех виртуальных хостов на конкретный виртуальный хост. (т.е набрал host1.mydomain.ru, а его перенаправили на secret.mydomain.ru).

Можно, конечно, на каждом виртуальном хосту писать .htaccess с данным правилом. Но т.к. место предоставляется некоторым лицам, которые запросто могут удалить эти строки, это не подходит.

Нужна какая то глобальная установка в сам httpd.conf. Кто что посоветует ?

Автор: bilbobagginz 30.11.2009, 09:31
глобально запусти mod_rewrite

Автор: admsasha 30.11.2009, 10:05
Цитата(bilbobagginz @  30.11.2009,  16:31 Найти цитируемый пост)
глобально запусти mod_rewrite


в httpd.conf указал

Код

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^192.168.
RewriteRule ^(.*)$ http://ya.ru [L,R]


Не работает. Тоже самое через .htaccess работает.

Автор: BobiKK 1.12.2009, 03:22
Скинь-ка весь VirtualHost, куда вставляешь эти правила

Автор: admsasha 1.12.2009, 03:55
Цитата(BobiKK @  1.12.2009,  10:22 Найти цитируемый пост)
Скинь-ка весь VirtualHost, куда вставляешь эти правила 
 Я вставляю не в VirtualHost, а в самый корень httpd.conf. Если у меня с тысячу этих VirtualHost, мне во все вставлять ?

Автор: bilbobagginz 1.12.2009, 12:01
Цитата(admsasha @  30.11.2009,  09:05 Найти цитируемый пост)
Не работает. Тоже самое через .htaccess работает. 

я не сильно горю желанием разрабатывать rewrite рулзы тебе но поясни что именно хочешь достигнуть, 
а там уже попробую кинуть указания для mod_rewrite.

Автор: BobiKK 1.12.2009, 13:07
Цитата(admsasha @ 1.12.2009,  03:55)
Цитата(BobiKK @  1.12.2009,  10:22 Найти цитируемый пост)
Скинь-ка весь VirtualHost, куда вставляешь эти правила 
 Я вставляю не в VirtualHost, а в самый корень httpd.conf. Если у меня с тысячу этих VirtualHost, мне во все вставлять ?

By default, mod_rewrite configuration settings from the main server context are not inherited by virtual hosts. To make the main server settings apply to virtual hosts, you must place the following directives in each <VirtualHost> section:
RewriteEngine On
RewriteOptions Inherit 
© Дока к апачу

Автор: bilbobagginz 1.12.2009, 14:11
BobiKK,  smile 
+1

Автор: admsasha 2.12.2009, 03:45
BobiKK, Вопрос заключался в том, как сделать так чтобы ничего недобавлять в virtualhost секцию... Похоже это никак не сделать, придется добавлять...

Автор: bilbobagginz 2.12.2009, 13:43
Цитата(admsasha @  2.12.2009,  02:45 Найти цитируемый пост)
BobiKK, Вопрос заключался в том, как сделать так чтобы ничего недобавлять в virtualhost секцию... Похоже это никак не сделать, придется добавлять... 

я чего-то запарился немного.

ты пробовал установить рул в глобальной секции.
я не пробовал это делать, но либо там название переменных другое, либо всё работет только внутри virthost-а

если ты не хочешь "ручками" для всех делать изменения,
создай файлик "inheritable.conf"
в который добавь:
Код

RewriteEngine On
RewriteOptions Inherit 

a в каждый виртхост добавь:
Код

include /etc/blabla/inheritable.conf

в дальнейшем сможешь редактировать только файлик, и это будет эффективным на все виртхосты.

Автор: admsasha 2.12.2009, 14:08
Цитата(bilbobagginz @  2.12.2009,  20:43 Найти цитируемый пост)

ты пробовал установить рул в глобальной секции.
я не пробовал это делать, но либо там название переменных другое, либо всё работет только внутри virthost-а

Да, пробывал, не заработало. Я писал уже об этом

Записи в самих virtualhost работают. Так что вопрос закрыт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)