entre todas as perguntas de "redirecionamento no nginx" Não consegui encontrar como redirecionar (usando o retorno 301 e melhor sem ifs) usando regexps.
Eu tenho um link para o meu site e gostaria de remover o parâmetro no final:
domain.com/article/some-sluggish-link/?report=1 #number at end
Regex para encontrar isto:
\?report=\d*$
Para isso eu quero redirecionar 301 para:
domain.com/article/some-sluggish-link/
Eu nginx.conf eu tenho 3 redirecionamentos:
server {
listen 80;
server_name subdomain.example.com.; #just one subdomain
}
server {
listen 80;
server_name *.example.com;
return 301 http://example.com$request_uri;
}
server {
listen 80;
server_name example.com;
}
e funciona; ele redireciona 301 todos os www., ww., aaa. e todos os subdomínios, exceto 1 particular, para main domain.com
Eu gostaria de receber ajuda
Felicidades!
EDIT 25/03/2015
Eu já tenho "location /" no meu arquivo conf:
location / {
uwsgi_pass unix://opt/run/ps2.sock;
include uwsgi_params;
}
que redireciona para algum aplicativo django. Depois de aplicar a cláusula 'if', isso me dá um loop infinito !!!
Meu problema é basicamente com SEO, o que significa que o Google indexa algumas páginas (aquelas com o parâmetro '? report =') que são cópias de urls sem esse parâmetro.
Eu queria que o googlebot parasse de indexar usando robots.txt, mas o problema é que você não pode usar regexps neste arquivo. Também não posso dizer qual URL exatamente precisa ser redirecionado ou parar de indexar porque acontece de alguma forma aleatoriamente ...