Rumah > Soal Jawab > teks badan
#rewrite .* /index.php last;
rewrite ^/(.*)$ /index.php/ last;
Untuk dua baris kod ini, baris sebelumnya boleh digunakan seperti biasa, tetapi baris kedua akan melaporkan ralat sebaik sahaja ia digunakan. ? Adakah terdapat sebarang konfigurasi yang perlu didayakan? Saya melihat dokumentasi dan tidak menemuinya. . .
曾经蜡笔没有小新2017-05-16 17:22:17
$1
mewakili ^/(.*)$
Kandungan yang ditangkap oleh ungkapan biasa ialah kandungan yang ditangkap oleh (.*)
. rewrite ^/(.*)$ /index.php/ last;
中 代表的是
^/(.*)$
正则捕获的内容,也就是(.*)
捕获到的内容。
^/(.*)$
中^/
表示已/
开头,.
表示匹配除换行符以外的任意字符,*
表示重复0次或更多次,$
表示匹配字符串的结束,()
表示捕获(匹配)内容。小括号
()
之间匹配的内容,可以在后面通过来引用,
表示的是前面第二个
()
里的内容。
也就是当一个请求链接为 /test
,就会被重写为/index.php/test
并重定向到/index.php/test
,所以请确保有这样的资源地址 /index.php/test
🎜Iaitu, apabila pautan permintaan ialahDalam
^/(.*)$, ^/
bermaksud ia bermula dengan/
dan.
bermaksud memadankan Mana-mana aksara kecuali pemisah baris,*
bermaksud mengulang 0 atau lebih kali,$
bermaksud penghujung rentetan yang sepadan,()
bermaksud Tangkap (padanan) kandungan. 🎜- 🎜Kandungan yang sepadan antara kurungan
()
boleh dirujuk kemudian melalui$1
dan$2
mewakili yang kedua Kandungan setiap < kod>(). 🎜
/test
, ia akan ditulis semula sebagai /index.php/test
dan dialihkan ke /index.php/test< /code>, jadi sila pastikan anda mempunyai alamat sumber seperti /index.php/test
🎜balas0
伊谢尔伦2017-05-16 17:22:17
Gunakan nginx -t
untuk menguji sama ada konfigurasi itu betul
500 ralat apabila melihat pada ErrorLog biasanya akan memberitahu anda sebabnya