1 votes

Nginx redirige l'url avec des paramètres

J'ai cherché sur de nombreux fils sans succès, peut-être pouvez-vous m'aider.

J'essaie de rediriger ce lien https://www.example.com/page/5/?s=gluten a https://www.example.com/gluten_specificarticle

J'ai essayé d'utiliser la solution de la carte mais cela ne fonctionne pas.

map $arg_s $mypage {
    gluten /specificlink;
}

Il y a 2 variables dans le lien : '5' pour la page et '?s=gluten' pour l'argument de recherche.

Merci pour toute aide

1voto

HugoFS Points 313

Le site $request_uri contient l'URI complet, y compris la chaîne de requête. Vous devrez utiliser un if pour tester cette condition.

Pour une seule redirection, vous pourriez utiliser :

if ($request_uri = "/page/5/?s=gluten") { 
    return 301 /gluten_specificarticle; 
}

Si vous avez un certain nombre de redirections, utilisez un fichier map :

map $request_uri $redirect {
    /page/5/?s=gluten    /gluten_specificarticle; 
}
server {
    ...
    if ($redirect) {
        return 301 $redirect;
    }
    ...
}

Voir ce document pour les détails. Voir cette mise en garde sur l'utilisation de if .

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