обернуть виртуальный хост apache вокруг другого (прокси) - PullRequest
0 голосов
/ 07 октября 2018

Допустим, у меня есть сайт www.x.com на английском, затем www.x.de на немецком, и я хочу указать всем вариантам на основном виртуальном хосте какой-то скрытый параметр, например? Lang = de, нотакже с приоритетом некоторых файлов, например, если существует логотип на немецкой версии, используйте немецкий логотип, иначе файл на виртуальном хосте x.com.

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

В качестве нового решения я хочу удалить прокси-скриптиспользование нескольких хостингов и использование виртуальных хостов apache на VPS.

Я знаю, что должно быть (?) возможно указать несколько псевдонимов или несколько доменов в одной папке (виртуальном хосте) на сервере (кстати, как передать язык).параметр url?) но в чем вопрос:

Возможно ли иметь виртуальный хост A, затем виртуальный хост B, который на самом деле намвиртуальный хост A, но если какой-либо запрошенный файл существует в папке Virtual Host B, он используется (как упомянутый файл логотипа)?

Второе решение состоит в том, чтобы указать все домены на одном виртуальном хосте и каким-либо образом изменитьсценарии сайта для использования некоторой подпапки изображений для определенного языка, но мне интересно, возможно ли предыдущее.

1 Ответ

0 голосов
/ 08 октября 2018

С mod_rewrite вы сможете получить параметр, даже с одним VirtualHost.Но имейте в виду, что вы столкнетесь с проблемами в SSL VirtualHosts, если не используете сертификат SAN.В противном случае вы можете использовать два отдельных VirtualHosts с сертификатом apropiate.Партия логотипа может тоже работать, но это слишком тяжело для обслуживания.

ServerName www.example.com
ServerAlias www.example.de

RewriteEngine On

# When using two VHosts you don't need this Cond or the [C] flag
RewriteCond %{HTTP_HOST} www.example.de
RewriteRule ^(.*\.php)$ $1?lang=de [C]

RewriteCond "$1-de\.jpg" -f
RewriteRule ^(logo).jpg$ logo-de.jpg
...