2010-10-31 6 views
0

J'ai essayé de faire ceci pendant les 4 dernières heures et ai cherché partout. ce serait génial si vous pouviez m'aider avec les règles de réécriture nginx.aider à la redirection d'une page spécifique dans nginx

J'essaye de rediriger temporairement hxxp: // siteA/[dir] vers hxxp: // siteB/[dir] sauf pour hxxp: // siteA /? Page = 4 que je veux rediriger vers hxxp:/?/siteB/page = 343

Voici les règles que je

server { 
    listen 80; 
    server_name siteA; 
    rewrite ^/?page=4$ http://siteB/?page=343 redirect; 
    rewrite ^/(.*)$ http://siteB/$1 redirect; 
} 

Mais il semble rediriger hxxp: // SiteA/page = 4 à hxxp: // siteB/page = 4 ignorant ainsi la première règle.

J'ai changé http en hxxp car je ne suis pas autorisé à poster des liens ici.

Répondre

1

Un problème courant rencontré lors de l'écriture de règles de réécriture pour les serveurs Web est de supposer que les paramètres de requête font partie du chemin du script.

Essayez les paramètres correspondant à la requête avec une règle comme ci-dessous avant votre règle de réécriture « principale »:

if ($args ~ page=4){ 
    rewrite^http://siteB.com/?page=343; 
} 
Questions connexes