Heim  >  Fragen und Antworten  >  Hauptteil

http - Wie kann ich dafür sorgen, dass die Umschreiberegel (Umleitung) von Nginx nur einmal ausgeführt wird?

rewrite ^/(.*).html$ /.html?mode=test redirect;

Jetzt gibt es eine Umschreiberegel wie oben, die wirksam werden kann, aber mehrmals passieren wirdredirect. Wie kann man es so ändern, dass es nur einmal springt?

Durch die Verwendung von break也不行,因为break wird die Adressleiste des Browsers nicht geändert.

Zum Beispiel:
http://xxx.xx.xx/weather/bug.html会一直跳下去,出现weather/bug.html?mode=test&mode=test&mode=test&mode=test&mode=test&mode=test&mode=test&mode=test&mode……

Update

    location / {
            if($args *~ "mode=formal"){
                rewrite (.*) ? redirect;
                rewrite (.*) ?mode=test redirect;
            }
            else if($args [[不包含mode=test]]){
                rewrite ^/(.*).html$ /.html?mode=test redirect;
            }
            error_page 404 = @nodejs;
    }

Ich möchte es wie oben beschrieben konfigurieren, zuerst beurteilen $args und dann neu schreiben, ich weiß nicht, ob es möglich ist.
Und wie soll ich [[exklusive Modus=Test]] schreiben?

某草草某草草2686 Tage vor547

Antworte allen(1)Ich werde antworten

  • 高洛峰

    高洛峰2017-05-16 17:22:30

    用last试试看呢

    Antwort
    0
  • StornierenAntwort