thinkphp 저 버 전 Nginx 에서 PATHINFO 를 지원 하 는 방법 공유

1199 단어
최근 thinkphp 로 프로젝트 를 만 들 고 있 습 니 다. 기본적으로 완 성 된 후에 nginx 서버 에 배치 되 어서 야 nginx 가 pathinfo 를 지원 하지 않 는 다 는 것 을 알 게 되 었 습 니 다. 그러면 우 리 는 어떻게 처리 합 니까?
Nginx 환경
Nginx 저 버 전에 서 는 PATHINFO 가 지원 되 지 않 지만 Nginx. conf (/ usr / local / nginx / conf / nginx. conf 또는 find / | grep nginx. conf 를 통 해 위 치 를 찾 을 수 있 습 니 다) 에서 전송 규칙 을 설정 할 수 있 습 니 다. nginx 설정 파일 에 추가:

location / { 
if (!-e $request_filename) {
   rewrite ^(.*)$ /index.php?s=$1 last;
   break;
 }
} 


사실 내 부 는 씽 크 PHP 가 제공 하 는 호 환 모드 로 전 송 된 URL 로, 이 를 활용 하면 PATHINFO 가 지원 되 지 않 는 다른 WEB 서버 환경 을 해결 할 수 있다.ThinkpHP 가 2 급 디 렉 터 리 에 설치 되 어 있다 면 Nginx 의 위 정적 방법 은 다음 과 같 습 니 다. 그 중에서 yodomain 은 있 는 디 렉 터 리 이름 입 니 다.

location /youdomain/ {
 if (!-e $request_filename){
  rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last;
 }
} 

예:

location /thinkphp/ {
 if (!-e $request_filename){
    rewrite ^/thinkphp/(.*)$ /thinkphp/index.php?s=$1 last;
 }
}

문법: rewrite regex replacement flag  (last     apache 에 있 는 [L] 태그 에 해당 하 며 rewrite 를 표시 합 니 다.)

좋은 웹페이지 즐겨찾기