URL-Rewrite-Methode
server { listen 8080; server_name www.xxx.com; root /Users/lch/work/www/ci; error_log /usr/local/var/log/error.log; location ~ ^/(img|images|script|js|css|upload)/ { root /Users/lch/work/www/ci } location ~ { if (!-e $request_filename) { # for /admin rewrite ^/(admin)$ /index.php?c=welcome&m=index&d=$1 break # for /admin/index rewrite ^/(admin)/([ a-zA-Z_]+)$ /index.php?c=$2&m=index&d=$1 break; # for /admin/account/login rewrite ^/(admin+)/([a-zA-Z_]+)/ ([a-zA-Z_]+)$ /index.php?c=$2&m=$3&d=$1 break; ## für allgemeine URL-Umschreibung ^/([a-zA-Z_]+)/([a- zA-Z_]+)/?(.*)$ /index.php?c=$1&m=$2 last; root /Users/lch/work/www/ci; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Erklären Sie die obige Konfiguration, da ich einen neuen Ordner „admin“ speziell zum Speichern von Hintergrund-Controllern erstellt habe Besser als normale Pfade erfordern eine weitere Ebene (entsprechend &d=admin). Hier sehen Sie die Mängel der Rewrite-Methode. Wenn eine Situation wie Admin auftritt, müssen die entsprechenden Rewrite-Regeln hinzugefügt werden.
PATH_INFO-Methode
server { listen 8080; server_name www.xxx.com; access_log /usr/local/var/log/snap_access. log; error_log /usr/local/var/log/snap_error.log; location ~ ^/(img|images|script|js|css|upload)/ { root /Users/lch/work/kidulty/snap_www; if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; } location ~ { set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+ ?.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } root /Users/lch/work/kidulty/snap_www; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO; include fastcgi_params; } }
Das Obige ist der Inhalt des Nginx-KonfigurationscodeIgniter-Projekts (2). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!