2013-02-01 3 views
4

내 .htaccess 파일에서 mod_rewrite를 사용하여 한 URL에서 다른 URL로 내부 리디렉션을 만들고 싶습니다. 내부 mod_rewrite, 리디렉션 없음

RewriteRule ^incoming-controller/action1.*$ http://example.com/incoming-controller/action2 [R=301,L] 

내가이 내부적으로 일하고자하는, 그래서 아파치가 내부적으로 ACTION2하는 요청을 제공하면서 사용자의 게시물 ACTION1하기 : 현재 나는 다음과 같이 외부 리디렉션을 수행하는 방법을 알고있다. 이것이 가능한가? 나는 [P] 플래그와 mod_proxy에 대해 읽었지만 제대로 사용하는 방법에 대한 많은 문서를 찾지 못했거나이 상황에서 유용하다.

답변

5

플래그에서 R=301을 삭제하면됩니다. 이것이 외부 리디렉션의 원인입니다.

http://example.com과 같은 전체 URL을 사용하지 않아도됩니다. 리디렉션 할 리소스의 URI 만 사용하십시오.

+0

이 작동하지 않는 것처럼 보이지만 여전히 브라우저에서 리디렉션을 수행 중입니다. 'RewriteRule^incoming-controller/action1. * $ http://example.com/incoming-controller/action2 [L]' –

+0

아파치 액세스 로그는 302 상태 코드를 받고 리디렉션 중임을 보여줍니다. –

+1

'http : // example.com' 부분도 같은 서버의 내부이기 때문에 제거해야합니다. –

관련 문제