Estou lutando com o NginX reescreve e redireciona, mas com apenas metade do sucesso. Gostaria de receber alguma ajuda.
Situação:
O cliente tem 4 domínios, que eles querem apontar para todos na mesma instalação do Wordpress. Ok, eu encontrei o bom Plugin WP (Múltiplo Domínio) para conseguir isso.
A instalação anterior do WP estava dentro da pasta / wp /, que eu tive que migrar para o root para que o plugin Multiple Domains funcionasse.
Então eu tive que adicionar opções NginX para lidar com a subpasta anterior / wp / por dois motivos:
- SEO e índices do Google, todos ainda apontam para URLs / wp /, que estariam mortos sem reescrever
- O criador de Web sites codificou alguns links para imagens e algumas outras coisas com o / wp / incluído no URL, por isso, a reescrita abaixo também trata desse problema
Agora o ALL BELWO funciona, e a melhor parte é que o URL mantém o domínio como foi inserido (não redireciona para o domínio principal):
domainA.com
domainB.com/?cat=7 - > domainB.com/news
domainC.com/wp/something - > domainC.com/something
location ^~ /wp/(.+) {
rewrite ^/wp/(.+)$ $1 last;
}
Problema?
Sim, tudo está funcionando bem, EXCETO quando / wp / é chamado sem parâmetros:
domainA.com/wp - > 404
domainB.com/wp - > 404
...
Eu também tentei (.*)
, mas não ajudei.
Idéias?
EDITAR
Como está configurado agora, todos os 4 domínios funcionam bem e bem com / wp / no meio da string de URL, assim:
domain.com/wp/news - > domain.com/news (isso é ótimo!)
O único problema persiste, quando o / wp está no final:
domain.com/wp - > domain.com/wp (NÃO reescreve / redireciona, o que não é ok)
EDITADO MAIS QUESTÃO CLARA
Eu poderia simplesmente pedir a regra de reescrita do NginX, que incluiria todos esses locais:
domain.com/ wp / alguma coisa
domain.com/wp/wp-config
domain.com/wp/?cat=7
domain.com/wp/
domain.com/ wp
... mas NÃO incluiria arquivos wp *:
domain.com/wp-config
Isso funciona, mas não abrange / wp e / wp / alone, sem parâmetros:
location ^~ /wp/(.+) {
rewrite ^/wp/(.+)$ $1 last;
}