Rumah > Soal Jawab > teks badan
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
某草草2017-06-16 09:20:37
Masalah ini juga berlaku semasa saya mengkonfigurasi THINKCMF sebelum ini
if(!defined('_PHP_FILE_')) {
if(IS_CGI) {
//CGI/FASTCGI模式下
$_temp = explode('.php',$_SERVER['PHP_SELF']);
define('_PHP_FILE_', rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
}else {
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'],'/'));
}
}
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
巴扎黑2017-06-16 09:20:37
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}