nginx 환경 문제를 이틀째 작업해 봤는데, 인터넷에 올라오는 많은 분들의 글을 복사해서 붙여넣거나, 아예 올리지 않고, 심지어 "하하, 제가 직접 해결했어요" 같은 글도 적는 걸 발견했습니다. ". 저는 이런 글들을 경멸합니다. 동포 여러분, 질문을 했다고 하셨는데, 문제가 해결된 후에도 설명을 하지 않으셨습니다. 여전히 검색의 처음 몇 페이지에서 답이 필요한 사람들의 감정에 대해 생각해 본 적이 있습니까? 나는 기쁜 마음으로 답을 살펴보았는데, 매듭이 없다는 것을 알았습니다. 좋아요, 더 이상 고민하지 말고 본론으로 들어가겠습니다.
제 방법에서는 재작성/호환을 위해 URL_Model을 변경할 필요가 없습니다.
라인 43에서 다음을 따라 코드를 수정하세요. 자세한 기호에 주의하세요.
위치 / {
root C:/Zend/workspaces #//이것은 자신의 프로젝트의 루트 디렉터리입니다.
index index.html index.htm index.php; 🎜 > break;
break; }
}
>$
기호가 이런 이유로 처음에는 해결되지 않았습니다.
위치 ~ .php {
루트 C:/Zend/workspaces;
fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME C:/wnmp/ php$fastcgi_script_name; include fastcgi_params;
set $path_info ""; set $real_script_name $fastcgi_script_name;
if ( $fastcgi_script_name ~ "^(.+?.php)(/.+) $") {
$real_script_name $1 설정;
$path_info $2 설정;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
사용 사용 사용 ' ' s 사용 ' s ‐ fastcgi_param SCRIPT -NAME $real_script_name
}
그래도 해결되지 않으면 ThinkPHP 항목 파일 index.php에 정의('_PHP_FILE_',$_SERVER['SCRIPT_NAME']) 구성을 추가하세요.
그동안 500,404의 문제를 겪으셨을 수도 있겠지만, 한 가지만 기억하세요. 조심하세요. 제가 한대로 바꾸시면 기본적으로는 문제가 없을 것 같습니다. 그래도 궁금한 점이 있으시면 상담 메시지를 남겨주세요.
솔루션 소스 참조: http://www.codesth.com/%E4%B8%8D%E7%94%A8rewrite%E5%85%BC%E5%AE%B9%EF%BC% 8C %E8%A7%A3%E5%86%B3nginx%E4%B8%8D%E6%94%AF%E6%8C%81thinkphp-pathinfo%E6%A8%A1%E5%BC%8F/
위의 내용을 포함하여 pathinfo 모드를 지원하지 않는 문제와 nginx+thinkphp에서 발생하는 다양한 404,500가지 문제를 해결하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.