nginx pathinfo 설정
우선 pathinfo 모드 는 무엇 일 까요?
pathinfo 는 위 정적 인 개념 입 니 다. 위 정적 페이지 는 정적 URL 과 동적 URL 이 서로 통 하 는 다리 입 니 다. 동적 사이트 주 소 는 URL 재 작성 수단 으로 동적 인 파 라 메 터 를 제거 하고 URL 을 정적 으로 만 드 는 것 을 말 합 니 다. 그러나 실제 웹 디 렉 터 리 에 URL 을 다시 쓰 지 않 았 습 니 다.쉽게 말 하면 의사 정적 URL 은 서버 를 통 해 위장 파일 이름 이나 주 소 를 바 꾸 어 이 페이지 를 정적 페이지 와 유사 하 게 하 는 것 이지 만 서버 에 독립 적 으로 존재 하 는 파일 이 없 으 며 본질 적 으로 동적 페이지 입 니 다.
동적 주소http://www.cxzaixian.com/index.php?m=topic&a=detail&tid=82 위 정적 모드 로 전환 후http://www.cxzaixian.com/index.php/topic/detail/tid/82.html。
apache 서버 자체 가 pathinfo 를 지원 합 니 다. 몇 가지 설정 을 간단하게 수정 하면 됩 니 다.pathinfo 를 지원 하 는 설정 을 한 후 php 프로그램 에서SERVER ['PATH INFO'] 변 수 는 pathinfo 값 을 / topic / detail / tid / 82. html 로 가 져 옵 니 다.우 리 는 phop 논리 코드 를 통 해 contrller 파일, action 방법, 그리고 나머지 동적 인 파 라 메 터 를 쉽게 분석 하여 정확 한 웹 페이지 응답 을 되 돌 릴 수 있 습 니 다.
그러나 우리 가 말 하고 자 하 는 nginx 서버 는 기본적으로 pathinfo 모드 접근 을 지원 하지 않 습 니 다.실질 적 으로 nginx 는 환경 변 수 를 설정 하지 않 습 니 다 PATHINFO 의 값 으로 인해 php 응용 프로그램 이SERVER ['PAHT INFO'] path 가 져 오기info, 대응 하 는 동적 인 파 라 메 터 를 분석 할 수 없습니다.
자, 드디어 본문의 본론 입 니 다. nginx 는 pathinfo 의 설정 을 다음 과 같이 지원 합 니 다.
ngingx 설정 파일 nginx. conf 수정
server 에 있 는 location 항목:
수정 전:
# : $
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# :
}
수정 후:
location ~ \.php {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# $path_info , pathinfo
set $path_info "";
# $real_script_name,
set $real_script_name $fastcgi_script_name;
#
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
# $real_script_name
set $real_script_name $1;
# $path_info
set $path_info $2;
}
# fastcgi
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
2. nginx 와 phpcgi 를 다시 시작 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.