2014-10-31 5 views
1

다음과 같이 난 할 노력하고있어 것은 : htaccess로를 사용하여 다른 주소로htaccess로 - 매개 변수로 요청 URI를 통과

  1. 리디렉션 사용자를. http://domainB.com/?referer=http://domainA.com/가, 내가에 실패 계속입니다

    : 사용자가 http://domainA.com/ 에 어떤 페이지를 방문 할 때

  2. 그가로 리디렉션해야

그래서 새로운 URL에 매개 변수로 지정된 URL 전달 리디렉션 전에 사용자가 보낸 전체 URL을 검색합니다. 나는 시도하고있는 것들 중

하나는 비참하게 실패 :

RewriteRule ^(.*)$ http://domainB.com/?referer=%{HTTP_HOST}%{REQUEST_URI} 

사전에 감사!

편집 : 더 복잡한 질문에 답을 유지하는 경향이 나는 그래서 내가 원래에 좋은 답변있다 있지만, 내 질문에 선명합니다, 간단한 내 질문을 유지하기 위해 노력했다.

내가 달성하려는 대상에 대해보다 구체적으로 말하자면 : 두 도메인은 동일한 호스트에서 호스팅되며 정확히 동일한 파일을 가리 킵니다. 따라서 domainA.com/file1.htmldomainB.com/file1.html은 동일한 파일을 표시합니다.

domainA가 원하는 것은 listener.php라는 파일에 모든 요청을 전달하는 것입니다. 그래서 도메인 A에 대한 모든 요청과 같이해야한다고 :

  1. 사용자가 입력 뒤에서 http://domainA.com/file1.html
  2. 서버 요청이 실제로 : /listener.php?actualRequest= http://domainA.com/file1.html

나는이 기능을 원하는 url이 정상적으로 유지되도록 서버 측에 있어야합니다.

리디렉션 루프를 피하기 위해 2 개의 도메인으로갔습니다.

RewriteCond %{HTTPS}s on(s)| 
RewriteCond %{HTTP_HOST} ^(?:www\.)?domainA\.com$ [NC] 
RewriteRule^http://domainB.com/?referer=http%1://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=302] 

이 모두 http://https:// URL을 처리합니다

답변

0

당신은이 규칙을 사용할 수 있습니다.


편집 : 당신이 사용할 수있는 편집 질문에 따라 경찰 :이 코드를 사용하려고

RewriteCond %{HTTPS}s on(s)| 
RewriteCond %{HTTP_HOST} ^(?:www\.)?domainA\.com$ [NC] 
RewriteRule !^listener\.php$ /listener.php?actualRequest=http%1://%{HTTP_HOST}%{REQUEST_URI} [L,QSA] 
+0

, 어떤 이유로 작동하지 않습니다. 너 혼자 시험 해봤 니? – Radicate

+0

나는 내 답변에 테스트되지 않은 코드를 게시하지 않고 테스트를 거쳤으며 코드도 작동한다. 어떤 URL에 대해서는 작동하지 않으며이 .htaccess는 어디에 있습니까? 규칙이 더 있습니까? – anubhava

+0

알겠습니다.domainA가 서버의 IP 주소이고 (현재 도메인이없는) domainB가 내 .com 도메인이었을 때 사용하려고했습니다. 파일은 사이트의 색인이있는 위치 인 루트 폴더에 있습니다. 아니, 다른 규칙은 없습니다. 그것은 순수하게 당신의 코드입니다. – Radicate

관련 문제