nginx 설정 thinkphp 를 지원 하 는 URLMODEL = 1 모드

3871 단어
바보 오리지널, 전재 출처 밝 혀 주세요. 감사합니다! -
최근 에 thinkphp 프레임 워 크 로 만 든 프로젝트 는 centos + apache 에서 개발 이 끝 난 후에 nginx 에 테스트 환경 을 구축 하려 고 합 니 다.
nginx 는 기본적으로 PATHINFO 를 지원 하지 않 습 니 다. 즉, TP 설정 URL 을 지원 하지 않 습 니 다.MODEL = 1 의 경우,
이때 간단 한 방법 으로 nginx 가 TP 를 신속하게 구축 하 는 방법 은 URL 을 설정 하 는 것 입 니 다.MODEL = 3, 즉 호 환 모드.
이 경우 프로젝트 의 일부 url 은 여전히 효력 을 잃 고 경로 가 잘못 될 수 있 습 니 다.
이 문 제 를 철저히 해결 하려 면 다음 과 같은 방법 을 사용 해도 된다.
첫 번 째 단계:
URL 설정MODEL=1;
두 번 째 단계:
nginx 프로필 설정
sudo vim /etc/nginx/sites-available/default  (이것 은 ubuntu + nginx 환경 에서 의 경로 입 니 다):location /{// ….. if(!-e $request_filename){    rewrite  ^(.*)$  /index.php?s=$1  last; break; } } Nginx , ThinkPHP URL, , PATHINFO WEB 。
, ThinkPHP ,Nginx , youdomain 。
location /youdomain/{ if(!-e $request_filename){             rewrite  ^/youdomain/(.*)$  /youdomain/index.php?s=$1  last; } }
위의 코드 가 있 으 면 다음 코드 를 추가 합 니 다.
location ~ .+.php($|/) {
               set $script $uri;
               set $path_info "/";
               if ($uri ~ "^(.+.php)(/.+)") {
                       set $script $1;
                       set $path_info $2;
               }
               include fastcgi_params;
               fastcgi_param PATH_INFO $path_info;
               fastcgi_index index.php?IF_REWRITE=1;
               fastcgi_pass 127.0.0.1:9000;
               fastcgi_param SCRIPT_FILENAME $document_root/$script;
               fastcgi_param SCRIPT_NAME $script;
       }
4. 567917. 상기 두 개의 코드 를 추가 한 후에 nginx 의사 정적 설정 이 완료 되 었 습 니 다. URL MODEL = 1 의 환경 에서 thinkphp 를 사용 할 수 있 습 니 다. 물론 nginx 서버 를 다시 시작 하 는 것 을 잊 지 마 세 요!

다음으로 전송:https://blog.51cto.com/6536194/1131420

좋은 웹페이지 즐겨찾기