Eu fiz algumas leituras e não consegui encontrar uma resposta para minha pergunta, pois ela tem um componente-chave diferente da maioria dos casos.
Começa da mesma forma que todas as outras histórias: Eu preciso migrar o .htaccess para o nginx config, o que seria bastante simples se não fosse por isso: o servidor nginx está configurado para usar hosts dinâmicos:
server {
listen 80;
server_name ~^(www\.)?(?<sname>.+?).server.company.com$;
root /var/www/$sname/current/public;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~* \.(gif|png|bmp|ico|flv|swf|exe|html|htm|txt|css|js) {
add_header Cache-Control public;
add_header Cache-Control must-revalidate;
expires 7d;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
location ~ /\.ht {
deny all;
}
}
Isso é feito para executar vários projetos em um único subdomínio com base em seu diretório. O problema é que um desses projetos (vamos chamá-lo theproject.domain.company.com) é um gigante muito antigo que usa o .htaccess para uma tonelada de redirecionamentos. Eu posso criar os blocos de localização para esses redirecionamentos, mas não tenho idéia de como aplicá-los apenas a esse projeto (não tenho muita experiência com o nginx).
Estou disposto a aceitar qualquer solução possível e o que eu tenho teorizado é:
1) nginx config específico do diretório - como o htaccess, mas não tenho certeza se o nginx é capaz de carregar a configuração em tempo real
2) usando se bloco para o nome do servidor específico, mas não tenho certeza sobre a sintaxe, como eu não consegui encontrar nenhum exemplo de se está sendo usado para o nome do servidor
3) vhost separado para esse subdomínio, isso seria uma solução viável, embora não seja muito agradável para o meu problema, problema é que eu não sei como configurar prioridades como esse subdomínio irá coincidir com o mesmo padrão do vhost dinâmico
Qualquer ajuda, conselho ou links são muito apreciados