Heim >Backend-Entwicklung >PHP-Tutorial >thinkphp nginx php-fpm URL-Umschreibung verursacht 404-Fehler
thinkphp nginx php-fpm URL Rewrite verursacht 404-Fehler
Zuvor wurde das thinkphp-System auf Apache bereitgestellt, da Nginx in Bezug auf die Parallelitätsleistung viel leistungsfähiger ist als Apache Wird auf Centos verwendet. Habe das thinkphp-System erneut bereitgestellt und Folgendes festgestellt:
|
/index.php/home/user/verify
|
Solche URL-Nginx meldet einen 404-Fehler, ändert ihn jedoch in
1 |
|
kann später zugegriffen werden, was bedeutet, dass die frühere URL von Nginx nicht unterstützt wird. Warum wird sie also nicht unterstützt? Um dieses Problem zu lösen, müssen Sie zunächst die verschiedenen URL-Modi von thinkPHP verstehen.
1. Pfadinfo-Muster
1 |
/?s=/home/user/verify |
1
|
/index.php/home/user/verify |
2 . Umschreibemodus
|
/?s=/home/user/verify
|
1 234567891011 |
#以index.php开头的uri location~^/index.php(.*) { #如果文件或者路径不存在 if(!-e$request_filename) { #将pathinfo模式的uri重写成普通模式 rewrite ^/index.php(.*)$ /index.php?s=$1 last; break; } } |
1 | ' URL_MODEL' =>3 |
1 2 34567891011 | #urilocation ~^/index.php(.* ) span> span> if(!-e$request_filename ) span> . ) $ / index.php?s= $1 last; span> span> 🎜> |
|
service nginx reload |