Рейтинг:0

Узнать домен в URI в Nginx Conf

флаг do

Вопрос об URL-адресе: domain.com/proxy/seconddomain.tld/images/file.jpg, и мы хотим выяснить, что такое seconddomain.tld. пока мы пробуем модуль карты nginx

карта $request_uri $topdir {
        ~(?<captured_topdir>^/proxy/[a-zA-Z0-9\.-_]+)[/] $captured_topdir;
}

но он возвращается пустым, можно сказать, что можно получить /proxy/seconddomain.tld, но он нужен без папок.

флаг us
Как вы используете переменную `$topdir`?
Muhammad Hussain avatar
флаг do
Используйте его в subs_filter для обновления изображений, ссылок и URL-адресов ресурсов.
флаг us
Вместо этого вы должны исправить приложение, чтобы генерировать правильные URL-адреса. Это ненужный и плохо поддерживаемый хак для создания URL-адресов ресурсов.
Рейтинг:0
флаг za

Попробуй это:

если ($ хост ~* ^(.+)\.([a-z0-9-]+)$) {
   установить $domainpart $1;
   установить $tld $2;
}
Рейтинг:0
флаг in

@drookie

Это не работает, пожалуйста, это вызывает ошибку 502

если ($ хост ~* ^(.+)\.([a-z0-9-]+)$) {
   установить $domainpart $1;
   установить $tld $2;
}

                add_header X-домен "$domainpart";
                add_header X-tld "$tld";
                subs_filter_types *;
                subs_filter 'action="/' action="/proxy/$domainpart.$tld/;
                subs_filter 'href="/' href="/proxy/$domainpart.$tld/;

Это работает, если я убираю часть if и устанавливаю часть домена и tld в фиксированные переменные.

Спасибо

Ответить или комментировать

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