Ich bin neu auf Nginx-Server.
Ich werde das PHP-Framework wie Codeigniter auf den Nginx-Server bereitstellen.
Meine Konfigurationsdatei folgt.Nginx Location Block Matching Regel
server {
index index.html index.php index.htm;
# set expiration of assets to MAX for caching
location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
expires max;
log_not_found off;
}
location/{
# Check if a file exists, or route it to index.php.
try_files $uri $uri/ /index.php;
}
location ~* \.php$ {
fastcgi_pass unix:/var/run/php/php7-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Meine Frage folgt.
1) Der Antrag uri ist wie dieser "www.domain.com/controllername/functionname/param1/param2/"
Wie funktioniert nginx Arbeit mit dieser URL?
2) Der dritte Standort Block entspricht den regulären Ausdruck ".php $".
Ist dies nur wahr, wenn das URI mit ".php" beendet wurde?
(ich glaube so, aber die fastcgi_split_path_info Blockade verschiedenen regulären Ausdruck hat.)
Bevor der Codeigniter die URI verarbeitet, verarbeitet der Nginx diesen? Ich denke schon. –
Das ist richtig, aber die Art, wie Ihre Konfiguration funktioniert, ist kein Problem. –
Danke, aber wenn der Codeigniter die URI empfängt, wie wird das geändert? –