2 votes

NGINX : Comment rediriger le domaine avec des paramètres dans l'url ?

J'ai essayé de rediriger une URL vers un autre domaine en utilisant la réécriture d'URL. Voici mon nginx.conf fichier :

worker_processes  1;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    server {
            listen       8070;
            server_name  www.example.com;
            rewrite ^/v1/([0-9]+).html http://www.example.com/v1?exid=$1;

            location ~ /v1/([0-9]+) {
                return 301 http://dev.example1.com/v1?exid==$1;
            }
        }
}

J'ai essayé pendant longtemps, mais je n'ai toujours pas trouvé de solution adéquate.

NOTE : Je n'ai pas obtenu d'erreur en essayant ce qui précède, mais la redirection attendue ne se produit pas. Je veux que cette Url soit redirigée http://example.com/v1/68740.html --à---> http://dev.example1.com/v1?exid=68740 .

Merci d'avance.

2voto

minish Points 626

Essayez la configuration suivante :

server {
  listen 8070;
  server_name www.example.com;
  rewrite_log on;

  location ~^/v1/([\d]+)\.html$ {
    return 301 http://dev.example1.com/v1?exid=$1;
  }
}

Si vous souhaitez déboguer la configuration du module ngx_http_rewrite_module, activez la directive rewrite_log. Pour plus de détails sur rewrite_log :

http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite_log

Vous feriez mieux de vérifier l'access_log pour voir si votre nginx a finalement renvoyé (redirigé) l'URL.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X