NGINX, Yii 설정 rest 경로 스타일 설정
방안 1
(이것 은 인터넷 에서 가장 많은 해결 방안 입 니 다.
if (!-e $request_filename) {
rewrite ^/path/(.*) /path/index.php/$1 last;
}
요청 한 파일 이 존재 하 는 지 판단 한 다음 에 rewrite 를 index. php 에 nginx 의 pathinfo 지원 을 설정 해 야 합 니 다. 그러면 약간의 효율 적 인 문제 와 안전 문 제 를 가 져 올 수 있 습 니 다 (http://www.laruence.com/2010/05/20/1495.html)
방안 2
rewrite 매개 변수 전달 경로
location /sampleapp {
rewrite ^/sampleapp/(.*)$ /sampleapp/index.php?r=$1;
}
nginx 가 추천 하 는 yii 설정 입 니 다. 이동 하 셔 도 됩 니 다. http://wiki.nginx.org/Yii
이것 도 내 가 처음에 가장 좋아 했 던 설정 방식 이지 만 문제 가 하나 있다.
yii rule array 를 설정 하면 ('login' = > 'account / login')
그리고 방문http://host/sampleapp/login 그런데 놀 라 운 발견 은 404 입 니 다. 이 문제 에 대해 저 는 yii 코드 를 본 후에 pull request 를 제출 했 습 니 다. https://github.com/yiisoft/yii/pull/3423 이 문 제 를 수정 하기 위해 서 는 채택 되 지 않 았 다.
그래서 다음 에 저 는 방안 세 가 지 를 성대하게 내 놓 겠 습 니 다. 이 방법 은 한계 가 있 을 수 있 지만 안전 하 다 고 생각 합 니 다.
방안 3
location ~ \.php$ {
deny all;
}
location ^~ /apppath {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/apppath/index.php; }
location ~ ^/apppath/(protected|framework|nbproject){
deny all;
}
location ^~ /apppath/assets/ {
access_log off;
expires 24h;
}
여기 서 주의해 야 할 것 은 설정 하면 안 된다 는 것 입 니 다.
fastcgi_index index.php;
이 이 가 경 로 를 오해 하 게 만 들 거 예요.
프로젝트 3. 여 기 는 완전한 버 전 입 니 다. 경로 아래 의 모든 요청 을 index. php 에 전달 한 다음. php 접미사 접근 을 금지 합 니 다 (웹 셸 을 효과적으로 방지 할 수 있 습 니 다)
세 번 째 구성 방안 은 아직 아무런 문제 가 발견 되 지 않 았 습 니 다. 저도 생산 환경 에서 사용 하 는 것 을 추천 합 니 다. 여러분 이 만약 에 무슨 문제 가 있 는 지 발견 할 수 있다 면 @ 저 는 복원 할 수 있 습 니 다. 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.