>  기사  >  백엔드 개발  >  Nginx 구성 CodeIgniter 프로젝트(2)

Nginx 구성 CodeIgniter 프로젝트(2)

黄舟
黄舟원래의
2016-12-20 13:14:421292검색

URL 재작성 방법

server { listening 8080; server_name www.xxx.com; root /Users/lch/work/www/ci; access_log /usr/local/var/log/access.log; error_log /usr/local/var/log/error.log; 위치 ~ ^/(img|images|script|js|css|upload)/ { root /Users/lch/work/www/ci } break; { if (!-e $request_filename) { # /admin 재작성 ^/(admin)$ /index.php?c=welcome&m=index&d=$1 break; # /admin/index 재작성 ^/(admin)/([ a-zA-Z_]+)$ /index.php?c=$2&m=index&d=$1 break; # /admin/account/login 재작성 ^/(admin+)/([a-zA-Z_]+)/ ([a-zA-Z_]+)$ /index.php?c=$2&m=$3&d=$1 break; ## 일반 URL 재작성 ^/([a-zA-Z_]+)/([a- zA-Z_]+)/?(.*)$ /index.php?c=$1&m=$2 마지막 } 루트 /Users/lch/work/www/ci fastcgi_pass 127.0.0.1:9001; ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

특히 백그라운드 관련 컨트롤러를 저장하기 위해 application/controllers/에 새 폴더를 만들었기 때문에 위 구성을 설명하세요. 일반 경로보다 나은 경우 레이어가 하나 더 필요합니다(&d=admin에 해당). 여기에서 rewrite 방법의 단점을 볼 수 있습니다. admin과 같은 상황이 발생하면 해당 rewrite 규칙을 추가해야 합니다.

PATH_INFO 메소드

server { listening 8080; server_name www.xxx.com; root /Users/lch/work/kidulty/snap_www; access_log /usr/local/var/log/snap_access. 로그; error_log /usr/local/var/log/snap_error.log; 위치 ~ ^/(img|images|script|js|css|upload)/ { root /Users/lch/work/kidulty/snap_www } if (!-e $request_filename) { ^(.*)$ /index.php/$1 last; } 위치 ~ { set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+ ?.php)(/.+)$") { $real_script_name $1 설정; $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 $path_info; include fastcgi_params } }

참고:

프로젝트의 URL이 http:// www.xxx.com/index.php/user/profile에는 다음 재작성이 필요하지 않습니다:

if (!-e $request_filename) { rewrite ^(.*)$ /index.php/$1 last; }
위 내용은 Nginx 구성 CodeIgniter 프로젝트(2) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.