Sim, é bastante fácil fazer isso no Nginx. Você só precisa editar o arquivo host virtual Nginx.
Vamos analisar um caso por exemplo.
Caso: um site, várias visualizações de loja
Por exemplo, temos
mystore.com (store code: mystore_en)
mystore.de (store code: mystore_de)
mystore.es (store code: mystore_es)
…
Etapa 1 . Edite seu arquivo de configuração do host virtual Nginx como
Arquivo: geralmente localizado em / etc / nginx / sites-available / ou / usr / local / etc / nginx / sites-available / ou outro, dependendo do tipo de SO.
map $http_host $MAGE_RUN_CODE {
mystore.com mystore_en;
mystore.de mystore_de;
mystore.es mystore_es;
}
server {
listen 80;
server_name mystore.com mystore.de mystore.es;
set $MAGE_ROOT /path/to/your/magento2;
set $MAGE_MODE default;
include /path/to/your/magento2/nginx.conf.sample;
}
Aqui você pode ver como o bloco Nginx map
é usado para definir MAGE_RUN_CODE
conforme o host. A diretiva server_name
inclui todos os domínios disponíveis.
Etapa 2. Envie as variáveis MAGE_RUN_CODE e MAGE_RUN_TYPE para o servidor php-fpm Arquivo: inclua o caminho acima, exemplo: caminho / para / seu / magento2 / nginx.conf.sample
#...
# PHP entry point for main application
location ~ (index|get|static|report|404|503)\.php$ {
try_files $uri =404;
fastcgi_pass fastcgi_backend;
fastcgi_buffers 1024 4k;
fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=768M \n max_execution_time=600";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;
#add here - start
fastcgi_param MAGE_RUN_TYPE store;
fastcgi_param MAGE_RUN_CODE $MAGE_RUN_CODE;
#end
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#...
Aqui NAGEX fastcgi_param's MAGE_RUN_TYPE & MAGE_RUN_CODE criará as variáveis de ambiente para o PHP para que o script possa acessar os valores via
$_SERVER['MAGE_RUN_TYPE']
$_SERVER['MAGE_RUN_CODE']
Para mais detalhes, consulte: link