Rumah  >  Soal Jawab  >  teks badan

http - Bagaimana untuk membuat peraturan penulisan semula nginx (pengalihan) dilaksanakan sekali sahaja?

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

Kini terdapat peraturan tulis semula seperti di atas, yang boleh berkuat kuasa, tetapi ia akan berlaku beberapa kaliredirect. Bagaimana untuk mengubah suainya supaya ia hanya melompat sekali?

Menggunakan break也不行,因为break tidak akan mengubah suai bar alamat penyemak imbas.

Contohnya:
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……

Kemas kini

    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;
    }

Saya mahu mengkonfigurasinya dengan cara di atas, nilai dahulu $args dan kemudian tulis semula, saya tidak tahu sama ada ia boleh.
Dan bagaimanakah saya harus menulis [[excluding mode=test]]?

某草草某草草2686 hari yang lalu551

membalas semua(1)saya akan balas

  • 高洛峰

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

    Jom cuba guna last

    balas
    0
  • Batalbalas