Forum: Rails France Nginx Rewrite

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Zaphod B. (Guest)
on 2009-05-10 18:20
(Received via mailing list)
Je sais c'est pas le group Nginx ici, mais j'ai posté (http://
forum.nginx.org/read.php?9,1892,1892#msg-1892) sur le forum Nginx qui
n'a pas l'air très actif alors je tente ici.

En faite je souhaite effectuer des rewrites, mais je souffre un peu.

Dans mon cas je souhaite rediriger une url périmée => /competitors?
sort=name_categories.name vers la page d'accueil => /articles

Avec cette conf :

server {
...
  location ~* ^/competitors(.*)$ {
    if ($args ~* ^sort=name_categories.name$) {
      set $args "";
      rewrite ^(.*)$ $scheme://$host/articles redirect;
      break;
    }
  }
  location / {
  ....
  }
}

Elle fonctionne parfaitement lorsque je saisi l'url périmée mais si je
veux acceder à /competitors ça ne fonctionne plus ...

Une idée ?

Merci.
Céd B. (Guest)
on 2009-05-10 18:35
(Received via mailing list)
Essaie peut-être ceci

server {
...
  location ~* ^/competitors(.*)$ {
   if(!args){
     break;
   }
    if ($args ~* ^sort=name_categories.name$) {
      set $args "";
      rewrite ^(.*)$ $scheme://$host/articles redirect;
      break;
    }
  }
  location / {
  ....
  }
}

Je débute aussi avec Nginx, mais si j'ai bien compris la doc, la
première conditions servira directement le fichier /competitors si
celui-ci ne comporte aucun argument, sinon, il passera dans l'autre
conditions et devrais passer dans ta réecriture.


Bousmanne Cédric
http://cedricbousmanne.com/






Le 10-mai-09 à 16:19, Zaphod B. a écrit :
Zaphod B. (Guest)
on 2009-05-10 19:36
(Received via mailing list)
Ah j'y ai cru !

Ton idée me semblait intéressante.

J'ai essayé ça :

 25         location ~* ^/competitors(.*)$ {
 26                 if ($args = "") { # false values are: empty string
"", or any string starting with "0";
 27                         break;
 28                 }
 29                 if ($args ~* ^sort=name_categories.name$) {
 30                         set $args "";
 31                         rewrite ^(.*)$ $scheme://$host/articles
redirect;
 32                         break;
 33                 }
 34         }

Mais ça ne change pas le résultat ! J'y ai cru 2 secondes parce que
hier j'ai essayé mais comme un c.. j'avais mis la 2° condition
après ...

Merci.
This topic is locked and can not be replied to.