Nah, saya baru menukar kata kunci kepada aaabbb.
Ini bermakna apabila saya melawat /aaabbb/anime, saya sebenarnya meminta /ab_anime.php
location /aaabbb/ {
rewrite ^/aaabbb/(\w+)$ /ab_.php last;
rewrite "/aaabbb/(\w+)/(\d{1,2})$" /aaabbb/?id=? permanent;
}
Kemudian saya ingin membuatnya supaya apabila saya klik padanya untuk kali pertama, parameter akan dimasukkan Pada masa yang sama, saya tidak dapat melihatnya di bar alamat Kemudian, setiap kali saya menyegarkannya, di sana tidak akan menjadi parameter.
Jadi saya menyemak bahawa jika tiada parameter, terdapat tanda soal selepas itu, tetapi saya mendapati ia tidak berguna.
Adakah kerana saya membelanjakan $1?id=$2 sendiri?
Hanya parameter yang ditambahkan pada penghujung bar alamat akan hilang. Namun, ia tidak berguna.
Saya baru melihat ini lagi
rewrite ^/test.php /new permanent; //重写向带参数的地址
rewrite ^/test.php /new? permanent; //重定向后不带参数
rewrite ^/test.php /new?id=$arg_id? permanent; //重定向后带指定的参数
Saya pun tak tahu nak buat apa... Patutkah saya menulis satu lagi dan menggunakan $arg? ? ?
Saya rasa penyoal telah merumitkan isu ini.
Sudah tentu, saya tidak pasti saya benar-benar memahami keperluan penyoal saya akan cuba huraikan seperti berikut:
Permintaan pengguna/aaabbb/anime
nginx menghuraikan /aaabbb.php?id=anime dengan betul dan mengembalikan kandungan A kepada pengguna
Bar alamat pengguna membaca /aaabbb dan menikmati kandungan A
Pengguna menyegarkan penyemak imbas, diarahkan ke /aaabbb dan menikmati kandungan B /aaabbb.php. (Atau teruskan membaca kandungan A)
Terdapat pepijat di sini Apabila permintaan adalah /aaabbb/anime, bar alamat akan menjadi /aaabbb/anime#xxxxxx paling banyak Yang sebelum # tidak akan berubah, dan yang selepas # akan menjadi cincang. Jika anda ingin menukar bar alamat kepada /aaabbb, anda mesti mempunyai tindakan ubah hala.
Pemikiran saya adalah seperti berikut: (Jika anda menerima jawapan, sila komen pada kandungan yang salah dalam penyelesaian saya)
strategi tulis semula nginx ialah
rewrite ^/aaabbb/(w+)$ /redirect.php?target= last;
redirect.php menulis sasaran ke dalam sesi dan mengembalikan ubah hala ke /aaabbb (bar alamat boleh dan hanya boleh diubah suai melalui kaedah ini)
/aaabbb/ Navigasi ke index.php, baca sasaran dalam sesi, padam (atau tidak padam) dan panggil fail php yang sepadan untuk mengembalikan kandungan.
Apabila menyegarkan /aaabbb, navigasi ke index.php dan juga balas permintaan berdasarkan sesi.