fikirkan tulis semula konfigurasi nginx, alamatnya akan menjadi .php
tambahan, http://localhost:7080/.php?m=...
fail konfigurasi nginx
pelayan
{
listen 80;
#listen [::]:80;
server_name localhost 192.168.150.79 doc.mall.com;
index index.html index.htm index.php default.html default.htm default.php;
root /data/www/wwwroot/mall_doc;
#error_page 404 /404.html;
location / {
if (!-e $request_filename)
{
rewrite ^/index.php(.*)$ /index.php?s= last;
rewrite ^(.*)$ /index.php?s= last;
rewrite ^/(.*)$ /index.php/;
}
}
lokasi ~ .php {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name ;
set $path_info ;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log /data/www/wwwlogs/doc.mall.access_log;
}
tulis semula ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
rewrite ^/(.*)$ / index.php/$1;
Ketiga-tiga kaedah telah dicuba
'URL_MODEL' => 2,
Versi php ialah PHP 7.1.5
versi nginx ialah: nginx/1.12.0
Ada sesiapa yang mengalami situasi ini?
versi php boleh diakses seperti biasa pada 5.6.9
Masalah ini juga berlaku semasa saya mengkonfigurasi THINKCMF sebelum ini
Kemudian saya mendapat tahu bahawa masalahnya ialah masalah laluan $_SERVER['SCRIPT_NAME'] dalam pemalar Terdapat 2 penyelesaian untuknya
1 Anda mengubah suai data dalam pemalar
2. Saya boleh memikirkannya dua kaedah sekarang
Selain itu, anda boleh Ikuti blog saya nota kajian programmer PHP