Como redirecionar mydomain.com
e qualquer subdomínio *.mydomain.com
para www.adifferentdomain.com
usar o NGINX?
136
server_name suporta correspondências de sufixos usando a sintaxe .mydomain.com:
server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
ou em qualquer versão 0.9.1 ou superior:
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
listen
diretiva padrão é a porta 80 quando não especificada. Na verdade, é um pouco mais complicado do que isso em geral; consulte os documentos de configuração do nginx para obter mais detalhes.?
conquista alcança no final?rewrite
ereturn 301 $scheme://www.adifferentdomain.com$request_uri;
?$request_uri
já possui a string de consulta, não há necessidade de anexá-la novamente. Areturn 301
sintaxe é mais recente e não deve haver diferença de comportamento entre os dois métodos, mas quando eu originalmente respondi a essa pergunta, muitas distribuições não tinham a versão necessária, por isso fui com a sintaxe mais segura.http://wiki.nginx.org/HttpRewriteModule#return
e
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
fonte
Por que usar o módulo de reescrita, se você pode fazer
return
? Tecnicamente falando,return
faz parte do módulo de reescrita, como você pode ler aqui, mas esse trecho é mais fácil de ler na imho.Você também pode redirecioná-lo 301.
fonte
return 302 $scheme://forwarded-domain.com$request_uri;
Isso deve funcionar via HTTPRewriteModule .
Exemplo de reescrita de www.example.com para example.com:
fonte
server_name example.com www.example.com;
.Se você deseja redirecionar solicitações de "domain1.com" para "domain2.com", crie um bloco de servidor parecido com este:
fonte
listen 443;
Redirecionamento temporário
Redirecionamento permanente
No arquivo de configuração nginx para site específico:
fonte
Você pode simplesmente escrever uma condição if dentro do bloco do servidor {}:
fonte