2009-11-05 4 views
1

나는 PHP MVC 웹 응용 프로그램 및 아파치 mod_rewrite는 규칙이 이미 잘 작동,하지만 내가 방법 =을 사용하여 양식을 만들 때을 "GET", 제출 된 URL은 내가 제출 내 양식을 싶습니다 method = "get"인 양식을 mod_rewrite url로 어떻게 변환합니까?

contact/submit?a=b&c=d 

처럼 보인다

contact/submit/a/b/c/d 

게시 및 서버 측의 양식 작업 벌금을 받고 있지만, 포스트 방법을 사용하는 경우, 뒤로 버튼은 항상 양식 값을 다시 게시를 요청하고 또한 내가 검색 엔진 최적화에 대한 URL의 문자열을 원하는 모두에게. JQuery가 양식 제출 이벤트를 차단하고 URL을 동적으로 새로 고침 할 수 있다고 생각하지만 실종되었다고하는 쉬운 방법이있을 것입니다.

+0

각 MVC에는 이러한 유형의 시나리오를 처리하는 데 도움이되는 자체 도우미가 있습니다. 새 태그를 추가하여 작업중인 PHP 프레임 워크를 알려 주시면 관심을 끌게 될 것입니다. ;) –

답변

0

Spring Web Flow가 사용하는 POST-> REDIRECT-> GET 패턴을 사용할 수 있습니다. 이렇게하면 원하는대로 게시하고 연락처/제출/a/b/c/d로 리디렉션 할 수 있습니다. 또한 양식 데이터를 다시 제출할 것인지 묻는 백 버튼 문제도 해결할 것입니다. 관련 내용 article을 참조하십시오.

0

GET 메서드는 표준 쿼리 문자열 인수를 사용하여 HTTP GET 요청을 통해 양식 데이터를 전달합니다.

서버의 데이터를 수정하기 위해 HTTP GET 요청이 이 아닌이 아닙니다. POST는 서버의 데이터를 수정하기 위해 설계되었습니다.

GET이 캐시 될 수 있습니다. POST는하지 않습니다.

/a/b/c/d는 데이터 전달을위한 표준 형식 (RFC에서와 같이)이 아닙니다. 그러나 데이터 또는 URL이 게시되도록 요청하는 경우 인기가 있습니다.

서버 데이터를 업데이트하는 경우 POST -> REDIRECT ->/a/b/c/d를 사용하십시오.

방금 ​​서버에서 데이터를 읽고 있다면, 당신은 양식 값을 읽고 쿼리 문자열을 구성하고 window.location = ...

재밌게로 이동하는 자바 스크립트의 비트를 사용해야합니다!

관련 문제