2011-09-22 4 views
5

PHP 서버가있어서 수신 URL을 다시 쓰고 싶습니다. 수신 요청은 게시물 요청이므로 게시 된 데이터가 새 URL로 전송되기를 원합니다.PHP URL을 다시 작성하고 게시 된 데이터를 보존합니다.

난 다음 다시 쓰기 규칙 URL을 리디렉션 관리해야 :

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,L] 

또는

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,R=301] 

나는 또한 다음 다시 쓰기 규칙을 사용하여 POST 데이터를 유지 관리해야 :

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [P] 

문제는 내가 동시에 둘 다 가질 수 없다는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? URL을 리디렉션하고 게시물 데이터를 보관할 수있는 방법이 있습니까?

+0

내가 리디렉션하지 재 작성하려면 : 대신 리디렉션의 재 작성하기 위해

는 대신 URL의 로컬 경로를 사용합니다. – reven

답변

8

아마도 문제는 재 작성 대신 리디렉션하는 것입니다. 리디렉션은 사람들이 브라우저에서 보는 URL을 변경합니다. 다시 쓰기는 PHP 응용 프로그램이 보는 URL 만 변경합니다. 후자는 일반적으로 원하는 것입니다. 후자의 경우 POST 변수가 자동으로 보존됩니다.

RewriteRule ^test/(.)$ index.php?data=$1 [NC,L] 
+1

아마도 내가 거기에 있었고 나는 그것을 모르고있었습니다. 나는 리디렉션하지 않기 위해 다시 쓰고 싶습니다. 나는 브라우저에서 같은 URL을보고 있었기 때문에 혼란 스러웠다. 그리고 나는 재 작성이 효과가 없다고 생각했다. 하지만 당신은 맞습니다. 브라우저의 URL이 index.php가 실행 된 것과 같다고 생각했습니다. 고마워요 – reven

+0

이것은 정확히 내가 찾고 있었던 것이 었습니다. 감사 – wonderwhy

관련 문제