2012-10-30 4 views
2

"http://url.com/dir/ID"형식의 서버 요청에 "http://url.com/something:PORT"에 직접 액세스하여 apache가 응답하도록하고 싶습니다. 여기서 ID는 사용자에 의해 설정되고 PORT는 ID에 의해 결정됩니다 (이들은 동일한 값이 아닙니다).HTTP를 사용하지 않는 콘텐츠 리디렉션

"리디렉션"으로 시도했지만 HTTP 리디렉션을 보내면 "http://url.com/something:PORT"의 내용을 직접 http : // url에 피드하는 것이 내 목표입니다. .com/dir/ID "로 변경하십시오.

이것이 가능합니까?

편집 :
예 :
요청자가 http://url.com/dir/ID로 이동하고 http://url.com/something:PORT로 리디렉션되지 않고 원래의 요청이 여기까지 인 것처럼 http://url.com/something:PORT의 실제 내용을 가져옵니다.

답변

1

당신은 mod_rewrite를 설치 및 당신의 .htaccess 나 httpd.conf 파일에 다음을 넣어 시도 할 수 있습니다 : 이것은 301 '영구'도 최종 주소로 검색 엔진에서 링크 된 URL을 변경 것이다 리디렉션입니다

RewriteEngine On 
RewriteBase /something/ 
RewriteRule ^(url.com/dir/*)$ http://url.com:$1 [R=301,L] 

. 자세한 내용 here.

귀하의 상황에 맞게 Regex를 변경해야 할 수도 있습니다. 귀하가 찾고있는 결과가 100 % 확실하지 않을 수 있습니다. 사용자가 액세스 할 특정 URL에 대한 몇 가지 예를 제공 할 수 있고 내가 보내려는 특정 URL을 제공하면 더 많은 도움을받을 수 있습니다. 그래서 mod_proxy이하는

RewriteEngine On 
RewriteRule ^/?dir/ID$ /something:PORT [L] 

당신은 자원 지원이 실제로 something:PORT에서 다른 서버에 앉아를 참조하는 경우, 당신은을 통해 요청을 보낼 필요가 : 문서 루트의 htaccess로 파일에이 규칙을 추가

+0

이 수신기가이 응답을 이해하지 않는, 문제는 (301)의 HTTP 응답을 보내, 그래서 것 리디렉션 URL을 따르지 않습니다. 나는 "dir/ID"에 대한 요청이있을 때 Apache가 "something : PORT"에있는 것을 반환하도록합니다. – kasperhj

+0

확실하지 않은 내용이 있으면 요청/대상 URL의 몇 가지 구체적인 예를 사용하여 질문을 업데이트 할 수 있습니까? 이 경우 수신기는 무엇입니까? –

+0

나는 내 게시물에서 약간 정교하게 만들었다. 내 수신기는 SCM입니다. – kasperhj

1

시도 그것은 당신을 위해 프록시를 리버스 할 수 있습니다. mod_proxy가 켜져 있지 않다면 할 수있는 일이 많지 않을 것입니다. 아마 PHP 프록시 솔루션을 찾을 수있을 것입니다.

htaccess로에서

, 당신은 예를 들어, P 플래그를 사용하여 mod_proxy를 호출 할 수 있습니다

RewriteEngine On 
RewriteRule ^/?dir/ID$ http://something:PORT/ [L,P] 
관련 문제