PHP는 MVC 스타일 라우터는 일반적으로 index.php?route=one/two/three...
같은 요청 처리 - 앞으로로 구분하여 쿼리 문자열이 같은 폴더> 파일> 기능, 또는 회사> 부서> 프로 시저로 (따라 시스템에게 경로를 제공 슬래시 > 조치).의 nginx 재 작성 규칙을 감소
요청의 예는 다음과 같습니다
set $i /index.php;
location ~ ^/([a-z0-9-]*)$ { rewrite ^/([a-z0-9-]*)$ $i?route=$1 last; }
location ~ ^/([a-z0-9-]*)/?([a-z0-9-]*)$ { rewrite ^/([a-z0-9-]*)/?([a-z0-9-]*)$ $i?route=$1/$2 last; }
location ~ ^/([a-z0-9-]*)/?([a-z0-9-]*)/?([a-z0-9-]*)$ { rewrite ^/([a-z0-9-]*)/?([a-z0-9-]*)/?([a-z0-9-]*)$ $i?route=$1/$2/$3 last; }
정규식 모범 사례 변경 나에게 소리를 지른다 다음과 같이이 모든 마음에와
GET http://localdomain/user/profile/modify
> /index.php?route=user/profile/modify
> /user/profile.php
> modify()
, 내 nginx를 서버 구성을 작성했습니다 이것은 하나 이상의 인수를 처리 할 수있는 단일 회선 (아마도 중계기를 사용하여)입니다. 정규 표현식 지식은 제한적입니다. 어떻게 생각합니까?
나는 이것에 대한 대답이 없다. 단지 의견 일 뿐이다. 그런 식으로 작동한다면, 그대로 두라. 3 개의 표현식을 하나로 병합하는 것은 영리한 일일 수 있지만 세 가지 고유 한 표현식을 갖는 것보다 유지 관리가 더 어려울 수 있습니다. – girasquid