ngix conf 파일에서 $ uri 변수의 일부로 위치 블록을 포함하는 것 외에는 제대로 작동하는 다시 쓰기가 있습니다. 위치 블록 다음의 경로 만 원합니다. 현재 설정 코드는 다음과 같습니다
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
http://localhost/cargo/testpage
리디렉션 URL 예제를 사용하면 PHP 파일에서 수신 한 "_REWRITE_COMMAND"매개 변수의 값은 "/ cargo / testpage"입니다. 위치 블록을 제거하고 $ uri로 "testpage"를 갖습니다.
$ uri를 나누고 $ 1 $ 2 등을 사용하여 새 변수에 할당하는 정규식 구문이 있다고 확신하지만 재 작성의 일부가 아닌 정규 표현식을 사용하여 변수 할당을 수행하는 예제를 찾을 수 없습니다 성명서. 나는 몇 시간 동안 찾고 노력했지만이 마지막 단계를 지나칠 수없는 것 같습니다.
또한 응용 프로그램 코드 에서이 문제를 해결할 수는 있지만 nginx conf에서 수정하려고하는 이유는 Apache에서도 실행되므로 호환성 문제 때문입니다. 또한 실제로 해킹 방법을 알아 냈지만 파일 존재 여부를 확인하기위한 "if"문이 포함되어 있으며 설명서에서 구체적 으로 그렇게하지 말라고 합니다.