Мы автоматически устанавливаем виртуальные машины с помощью WDS, а после установки вручную устанавливаем обновления, по крайней мере, до уровня KB2919355, который нам нужен. Все работает отлично, за исключением того, что я не знаю, как преобразовать эту строку Apache в мою рабочую конфигурацию nginx SetEnvIf Host "^ ([^ \.] ...
Предыдущий сервер работал на Apache, но теперь я переключился на Nginx. Все работает отлично, за исключением того, что я не знаю, как преобразовать эту строку Apache в мою рабочую конфигурацию nginx
SetEnvIf Host "^([^\.]+)\.my-shop\.dev$" MY_ENV=$1
. Ему нужно прочитать первый «param / subdomain / something» и установить его как переменная окружения
Пока я пытаюсь добиться этого, делая что-то вроде этого, но это не работает
server {
listen 80 ;
server_name $\.my-shop\.dev;
location ~* \.php$ {
try_files $uri $uri/ /index.php?q=&$args;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param MY_ENV $1;
}
}
Если вам нужна дополнительная информация, дайте мне знать, и я предоставлю. Спасибо!
, чтобы захватить ведущую часть поддомена вашего магазина, вы можете использовать что-то вроде этого:
server {
listen 80 ;
# match and catch the subdomain part in $prefix for later usage:
server_name ~^(?<prefix>.+)\.my-shop\.dev$;
location ~* \.php$ {
[...] # removed for better readability
# add MY_ENV env variable to the value of earlier captured $prefix:
fastcgi_param MY_ENV $prefix;
}
}
Это более подробно и другие варианты использования объяснены в http://nginx.org/en/docs/http/server_names.html#regex_names