css
Если в map прописать хардкодом пути, то все работает
Пытаюсь сделать это динамично, вытягивая первое слова с ури, но что-то явно делаю не так, 404 css.
Возможно ли динамично подставлять путь через map?
map $http_referer $this {
~(.*)/Ccomoon.css /^/([^/]+);
~(.*)/Icomoon.css /^/([^/]+);
~(.*)/css/(.*) /^/([^/]+);
}
location ~ \.(js|css|svg|json|eot|woff|ttf|gif|png|jpg|jpeg|mp3) {
if ($this) { rewrite /(.*) $this$uri last; }
}
}
Пытаясь указать regex-шаблон в качестве значения для подстановки в блоке map, ты пытаешься добиться чего? Если в исходном шаблоне используются capture groups, почему они не используются в значении для подстановки? Чего ты вообще пытаешься добиться, приведи внятный пример
Хочу переделать 3 if на map location ~ \.(js|css|svg|json|eot|woff|ttf|gif|png|jpg|jpeg|mp3) { if ($http_referer ~* (.*)/Ccomoon.css ) { rewrite /(.*) /ff1$uri last; } if ($http_referer ~* (.*)/Icomoon.css ) { rewrite /(.*) /ff1$uri last; } if ($http_referer ~* (.*)/css/(.*) ) { rewrite /(.*) /ff1$uri last; } } Таких доменов много, у каждого свои уникальные 3 символа как путь Хочу чтоб был один map в http, который определял эту часть урлы и в каждом виртуальном конфиге один if с реврайтом location ~ \.(js|css|svg|json|eot|woff|ttf|gif|png|jpg|jpeg|mp3) { if ($this) { rewrite /(.*) $this$uri last; } }
Ты, возможно, и представить не можешь, как сложно в телеге на мобиле воспринимать конфиг.
Ну уже то, что ты в referer пытаешься обнаружить css-файл, если я правильно это понял, выглядит немного странно. Если тебе надо подставлять суффикс в зависимости от домена, почему ты не делаешь map от $http_host? Не говоря уже о прочих ошибках типа rewrite ... last, которое у тебя приведёт к зацикливанию и через 10 итераций выдаст 500 internal server error
Обсуждают сегодня