thinkphp - Apabila mengkonfigurasi tulis semula dalam nginx, ralat 500 berlaku apabila perkataan seperti $1 muncul.
PHPz
PHPz 2017-05-16 17:20:17
0
3
549
#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. . .

PHPz
PHPz

学习是最好的投资!

membalas semua(3)
曾经蜡笔没有小新

tulis semula ^/(.*)$ /index.php/$1 terakhir; dengan $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

    Dalam
  • ^/(.*)$, ^/ 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 (). 🎜
🎜Iaitu, apabila pautan permintaan ialah /test, ia akan ditulis semula sebagai /index.php/test dan dialihkan ke /index.php/test, jadi sila pastikan anda mempunyai alamat sumber seperti /index.php/test🎜
伊谢尔伦

Gunakan nginx -t untuk menguji sama ada konfigurasi itu betul
500 ralat apabila melihat pada ErrorLog biasanya akan memberitahu anda sebabnya

巴扎黑

Cuba alih keluar ungkapan biasa itu

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!