Какой правильный синтаксис If-выражения в apache2?
В apache2.4 появились операторы ветвления if.
Чтобы не плодить одинаковые виртуальные хосты, решил сделать один, но в разных частях использовать оператор ветвления.
Есть такой сайт:
< VirtualHost *:80 *:8001 >
В нем пишу выражение:
< If "%{SERVER_PORT} == '8001'" >
Redirect .......
< /If >
Но редирект работает на обоих портах. Если написать !=, то редирект не срабатывает ни на одном порту. Как проверить порт? На официальном сайте в документации не нашел примеров с портами.
не придумайте велосипед на пустом месте.
Конфиги генерить нужно под каждый сайт. Следовательно и всю эту шляпу тоже.
Все ваши иф и должны быть в шаблоне генератора.
Евгений Попов,
Поставьте и не выдумывайте
Ispconfig3 я его использую но там ман на 50 страниц ;) короче для про ;)
bitrix vm - установка с sh скриптом панель с консоли, прес 1 создать сйт прес 2 удалить сайт но вполне рабочая. Оптимизирована для битрикс
Vestacp - ставится скриптом
brainycp.com - умеет очень много даже больше ispconfig3 но юзерфендли так себе, зато ставится тоже легко
Тогда как организовать сайты, чтобы не делать двойную работу? У меня два сайта на двух разных портах с кучей одинаковых правил по разным папкам вебсервера. Хочу, чтобы у них была общая часть. А разного в них только то, что на 80(на самом деле, 443) порту используется купленный сертификат, а на 8001 самоподписанный для отладки.
ну и кто вам мешает это сделать
1. сделайте два конфига, замените во втором путь до сертификатов и имя домена
и все.
2. Include conf/vhosts/*/*.conf
это если прям уж очень хочится инклуд сделать.
3. Уязвимостей и в вашем художестве не меньше, вы обновляете все программы всех демонов на всех интерфейсах ?
4. для отладки можно использовать letsencrypt
собственно как и для продакшена.
Если проблемы с конфигами апачь то давайте сюда посмотрим
Виктор Таран, инклуд круто. Попробую.
Нормальное художество! Годами выстраданное)
Все обновления ставлю, дебианы, центосы обновляю на новые версии вовремя.
Спасибо за советы. Буду думать.
Но главный вопрос открыт... Как заставить работать иф... Или вы хотите сказать, что апач создал ненужное и нечего им пользоваться?
Виктор Таран, в общем, сделал три разных сайта, общую часть с папками подключил инклудами и отлично работает. Спасибо.
Странно, почему я сам не догадался про инклуды...
Виктор Таран, ну вот конкретная проблема:
В моем веб-приложении есть страница, которая запрашивает через Curl другую страницу на том же сервере.
Апач без директивы Require ip "ip-адрес сервера" не хочет пускать такой запрос.
Хотел обойтись без упоминания в конфиге апача ip-адреса сервера, так как хочу, чтобы при миграции не надо было в куче мест менять этот адрес на адрес нового сервера.
Можно ли как-то другими директивами указать апачу принимать соединения от самого себя?
Пробовал Require host localhost, Require ip 127.0.0.1 - не помогает.
Евгений Попов, Правильно ли я тебя понимаю что ты отдаешь сайт
но к примеру site.ru/lalala должен отдаваться другой сайт находящийся на этом же сервере ?
ну и второй вопрос прицепом.
Переменные среды должны быть разные ?
как миниумум путь до сайта, php.ini версия самого php и та далее, или же тебя устроит что они в кукче.
От этого вопроса будет реализация.