Preciso redirecionar toda solicitação http://test.com para http://www.test.com . Como isso pode ser feito.
No bloco do servidor, tentei adicionar
rewrite ^/(.*) http://www.test.com/$1 permanent;
mas no navegador diz
The page isn't redirecting properly
Firefox has detected that the server is redirecting the request for
this address in a way that will never complete.
meu bloco de servidor se parece
server {
listen 80;
server_name test.com;
client_max_body_size 10M;
client_body_buffer_size 128k;
root /home/test/test/public;
passenger_enabled on;
rails_env production;
#rewrite ^/(.*) http://www.test.com/$1 permanent;
#rewrite ^(.*)$ $scheme://www.test.com$1;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
redirect
nginx
url-rewriting
Amal Kumar S
fonte
fonte
Respostas:
A melhor maneira de fazer o que você deseja é adicionar outro bloco de servidor:
E edite sua variável principal server_name do bloco do servidor da seguinte maneira:
Importante : Novo
server
bloco é o caminho certo para fazer isso,if
é mau . Você deve usar locais e servidores em vez de,if
se possível.Rewrite
às vezes também é ruim , então substitua-o porreturn
.fonte
return 301 http://wwww.test.com$request_uri;
vez de reescrever.return
vez derewrite
. Veja docsredirect
então omain server
bloco oumain server
bloco então oredirect
? Porque eu tenho o mesmo problema, stackoverflow.com/questions/35451929/...301
redirecionamento x302
. Você pode ficar com um redirecionamento permanente em cache, o que torna muito problemático alterar suas configurações para clientes que já acessaram uma URL. (Eu sei que o OP pediu uma301
, mas ter certeza de que é realmente o que você quer.)Semelhante a outra resposta aqui, mas altere o http na reescrita para $ esquema da seguinte maneira:
E edite sua variável principal server_name do bloco do servidor da seguinte maneira:
Eu tive que fazer isso para redirecionar www.test.com para test.com.
fonte
Primeiro, verifique se você instalou o Nginx com o módulo de reescrita HTTP. Para instalar isso, precisamos ter pcre-library
Como instalar a biblioteca do pcre
Se o mencionado acima estiver pronto ou se você já os tiver, adicione o código abaixo no bloco do servidor nginx
Para remover www de cada solicitação, você pode usar
para que o bloco do servidor pareça
fonte
Este é o principal hit do Google para o "redirecionamento nginx". Se você chegou aqui apenas desejando redirecionar um único local:
fonte