2010-04-06 3 views
1

http://example.com/blah/<something>/<somethingelse>에서 http://<something>.example.com/<somethingelse>까지 다시 쓰고 싶습니다. 요청이 이 아니고이 아닌 내부 리디렉션 인 경우에만 다시 작성하고 싶습니다. 이 효과를 얻으려면 어떻게해야합니까? 내가 %{THE_REQUEST}을 사용할 수 있다는 것을 알고 있지만 좋은 예를 찾을 수없는 것 같습니다.특정 URL에 대한 외부 요청 만 다시 쓰기

도움 주셔서 감사합니다.

답변

1

no subrequest 플래그 ([NS])는 내부 하위 요청에 대한 규칙을 건너 뜁니다.

RewriteCond %{HTTP_HOST} =example.com 
RewriteRule ^/?blah/(.*{]) http://something.example.com/$1 [NS,L] 
+0

"이 웹 페이지에는 리디렉션 루프가 있습니다." Nope : ( – Cyclone

+0

[R, L, QSA, NS] – Cyclone

+0

@Cyclone : 다른 재 작성 규칙은 무엇입니까? 위의 규칙은 "example.com"에서 "something.example"로 리디렉션됩니다. com "을 사용하면 자체적으로 루프를 만들지 않으며 외부 리디렉션을 생성합니다. 대체 URL이 절대 URL이므로 [R]이 필요하지 않습니다. [QSA]가 필요하지 않으므로 쿼리 문자열을 설정하지 않습니다 – outis