Questione : nginx - possibile riscrivere basato sul rinvio del URL?

qui è un esempio denominato URL: rel= " nofollow " " del _blank " " del target= " di http://myserver.com/index.php?id=15 del href= del
http://myserver.com/index. php? id=15

I vorrebbe cambiare il id= basato sul referrer….

so avrò una lista dei referers….il URL di referer del

if contiene il MOO/cow.php quindi la riscrittura: rel= " nofollow " " del _blank " " del target= " di http://myserver.com/index.php?id=15 del href= del
http://myserver.com/index. php? il URL di referer di id=15

if contiene il latte/cookies.php quindi la riscrittura: rel= " nofollow " " del _blank " " del target= " di http://myserver.com/index.php?id=16 del href= del
http://myserver.com/index. php? id=16

Thanks,

-Eric
class= del

Risposta : nginx - possibile riscrivere basato sul rinvio del URL?

Ciao in primo luogo cosa, se vostro invitare questa regola ad infornare quando le richieste di utente paginano “/moo/dog.html? id=99„ allora che dovete cambiare la riscrittura ^.*/index.php per ^.*/moo/dog.html$, a meno che ci siano altre regole già in place, che possono cose fangose.

Sono lontano da un esperto nel nginx, ma sono io correggo nel pensiero della variabile di $http_HEADER contengo l'intestazione piena del HTTP, compreso il referer, in modo da può valere la pena di commutare i due per vedere se fa una differenza. Inoltre la sintassi qui sotto può essere più vicino a che cosa volete


se (~* di $http_referer (MOO/cow.html)) {
   regolare $test a;
}

se ($args! ~* “id=15„) {
   regolare $test “$ {prova} b„;
}

se ($test = ab) {
     riscrivere l'ultimo di ^.*/moo/dog.html$ http://target.electronicgroups.com/moo/cat.html?id=15;
}
   
Altre soluzioni  
 
programming4us programming4us