서버: Win2003 + IIS가 문제없이 정상적으로 실행됩니다
로컬: Win10 + apache 및 Win10 + nginx가 문제없이 정상적으로 실행됩니다
이 프로젝트는 최근 Alibaba Cloud CentOS7.2 및 nginx1.10.2를 대체하는 데 문제가 발생했습니다.
검색을 위한 페이지에 Form 폼이 있고, 검색을 위한 데이터 가져오기 버튼을 클릭하시면 아래와 같은 URL이 생성됩니다
<code>/index.php/User/index.html?key=刘</code>
컨트롤러에서 I('key')($_GET['key']와 유사한 입력 변수를 얻는 TP 캡슐화 방법)를 사용하여 이 키워드를 얻은 다음 페이지 번호 링크 생성을 쿼리하고 페이지 매김합니다. 다음 URL로
<code>/index.php/User/index/key/刘/p/2.html</code>
위의 페이지 번호 링크를 클릭하여 페이지를 넘길 때:
로컬에서 키를 얻든 원래 서버에서 키를 얻든 상관없이 문자열 "Liu"입니다
그런데 새 서버에서는 획득한 키워드가 "%e5%88%98" 문자열입니다.
이런 종류의 검색을 사용하는 모든 원래 프로그램이 유효하지 않게 되어 페이지를 넘길 수 없게 되었습니다.
나('key')는 get 데이터를 받으면 urldecode를 하는데, 다시 하면 한 페이지만 넘길 수 있다는 것을 알게 되었는데, 다시 하면 key가 다시 urlencode되어 무한정 늘어나게 됩니다. urlencode를 몇 번 돌려도 디코딩됩니다
URL 패턴을 수정할 수 없어서 이 방법을 포기했습니다
Win+IIS Win+nginx는 문제가 없습니다. linux+nginx를 사용할 때 이런 문제가 발생하는 이유는 무엇입니까? 제 잘못입니까, Linux입니까, 아니면 nginx입니까?
프로젝트가 정상화되길 간절히 바라고 있습니다. 도와주세요
서버: Win2003 + IIS가 문제없이 정상적으로 실행됩니다
로컬: Win10 + apache 및 Win10 + nginx가 문제없이 정상적으로 실행됩니다
이 프로젝트는 최근 Alibaba Cloud CentOS7.2 및 nginx1.10.2를 대체하는 데 문제가 발생했습니다.
검색을 위한 페이지에 Form 폼이 있고, 검색을 위한 데이터 가져오기 버튼을 클릭하시면 아래와 같은 URL이 생성됩니다
<code>/index.php/User/index.html?key=刘</code>
컨트롤러에서 I('key')($_GET['key']와 유사한 입력 변수를 얻는 TP 캡슐화 방법)를 사용하여 이 키워드를 얻은 다음 페이지 번호 링크 생성을 쿼리하고 페이지 매김합니다. 다음 URL로
<code>/index.php/User/index/key/刘/p/2.html</code>
위의 페이지 번호 링크를 클릭하여 페이지를 넘길 때:
로컬에서 키를 얻든 원래 서버에서 키를 얻든 상관없이 문자열 "Liu"입니다
그런데 새 서버에서는 획득한 키워드가 "%e5%88%98" 문자열입니다.
이런 종류의 검색을 사용하는 모든 원래 프로그램이 유효하지 않게 되어 페이지를 넘길 수 없게 되었습니다.
나('key')는 get 데이터를 받으면 urldecode를 하는데, 다시 하면 한 페이지만 넘길 수 있다는 것을 알게 되었는데, 다시 하면 key가 다시 urlencode되어 무한정 늘어나게 됩니다. urlencode를 몇 번 돌려도 디코딩됩니다
URL 패턴을 수정할 수 없어서 이 방법을 포기했습니다
Win+IIS Win+nginx는 문제가 없습니다. linux+nginx를 사용할 때 이런 문제가 발생하는 이유는 무엇입니까? 저, Linux 또는 nginx의 잘못인가요? 조언 부탁드립니다.
프로젝트가 정상화되길 간절히 바라고 있습니다. 도와주세요
TP 페이징 소스코드에서 URL 생성 시 urlencode 연산을 수행합니다
<code>private function url($page){ return str_replace(urlencode('[PAGE]'), $page, $this->url); }</code>
해결책: 페이징 클래스를 인스턴스화할 때 검색 매개변수를 세 번째 매개변수로 전달할 수 있습니다. 자세한 내용은 페이지 클래스의 구성 방법을 참조하세요