2017-10-22 1 views
0

2 개의 다른 도메인을 리디렉션 할 수 있는지 궁금합니다. www.abc.comwww.xyz.com과 같은 2 개의 도메인이 있다고 가정합니다. 이제 어떤 시청자가 www.abc.com을 클릭하면 www.xyz.com으로 리디렉션되어야하고 어떤 시청자가 www.xyz.com을 클릭하면 www.abc.com으로 리디렉션됩니다. 이 기능을 수행 할 수있는 기능이나 호스팅 서비스가 있습니까? 리디렉션은 PHP header('Location')을 사용하여 간단히 수행 할 수 있지만 일단 사이트를 리디렉션하면 원래 사이트를 얻을 수 없습니다. 아무도 도와 줄 수 있습니까? 감사.두 도메인을 리디렉션 할 수 있습니까?

+0

이 어떻게 이런 일을 상상 것 리퍼러를 포함 301로 작동해야합니까? –

+0

그게 무슨 해결책이나 방법이 있다면 질문을하는 이유는 무엇입니까 :) – Gamer

+0

하지만 .. 왜 그런 식으로 뭔가를 설계 해 줄래? –

답변

0

은 www.xyz.com를 갈 때 우리는 www.abc.com에 갈 때 우리가 사용하여 www.xyz.com

로 사용자를 리디렉션하고 싶어하고 www.abc.com에 사용자를 리디렉션하고 싶어한다고 가정 우리가 할 수있는 세션. 지금

<?php 
//on abc.com 
session_start(); 
if(!isset($_SESSION['abc']) || $_SESSION['abc'] != true){ 
    $_SESSION['xyz'] = true; 
    header('Location: www.xyz.com'); 
} 

,

<?php 
//on xyz.com 
session_start(); 
if(!isset($_SESSION['xyz']) || $_SESSION['xyz'] != true){ 
    $_SESSION['abc'] = true; 
    header('Location: www.abc.com'); 
} 
0

먼저 나는 당신의 클라이언트를 사용하여이 작업을 수행하지 않는 강한 케이스를 만들 것입니다. 하지만 ... .htaccess을 사용하면 리디렉션으로 쿼리 문자열 플래그를 설정하여 무한 리디렉션 루프를 방지 할 수 있습니다. 주소가 www.abc.com을위한 경우 (우리가 이미 리디렉션되지 않았 음 신호) 플래그가

이 안된 존재하지 않는 경우에만

우리는 www.xyz.com로 리디렉션하지만 개념은 작동합니다.

RewriteEngine On 
#abc => xyz 
RewriteCond %{HTTP_HOST} ^www\.abc.com 
RewriteCond %{QUERY_STRING} !^flag=fromxyz$ 
RewriteRule ^(.*)$ www.xyz.com?flag=fromabc [L,R=301] 

#xyz => abc 
RewriteCond %{HTTP_HOST} ^www\.xyz.com 
RewriteCond %{QUERY_STRING} !^flag=fromabc$ 
RewriteRule ^(.*)$ www.abc.com?flag=fromxyz [L,R=301] 

또한 PHP와 같은 일을 수행 할 수 - 리디렉션에 대한 쿼리 문자열을 추가하고 header() 리디렉션하기 전에 그것을 테스트하여. 같은 뭔가 : 서버가 리디렉션하기 전에 PHP 파일을로드 할 필요가 없습니다으로

if ($_SERVER[HTTP_HOST] == "www.abc.com"){ 
    if ($_SERVER[QUERY_STRING] !== "flag=fromxyz"){ 
     header("Location: www.xyz.com?flag=fromabc.com"); 
     die(); 
    } 
} 
if ($_SERVER[HTTP_HOST] == "www.xyz.com"){ 
    if ($_SERVER[QUERY_STRING] !== "flag=fromabc"){ 
     header("Location: www.abc.com?flag=fromxyz.com"); 
     die(); 
    } 
} 

.htaccess 방법이 더 효율적입니다.

변수는 @AnimeshSahu에서 언급 한 바와 같이 $_SESSION 변수의 사용도 옵션입니다. 그러나, 당신은 리퍼러에게

한다 RewriteCond %를 사용할 수 있습니다

0

모든 경우 (예를 들어, Google 검색)에서 지원되지 않을 수 있습니다 {HTTP_REFERER}!. abc.com. $ RewriteRule^(. *) $ www.xyz.com/$1 [L, R = 301]

리퍼러가 ABC.com이 아니고 리디렉션되지 않는다고 말합니다.

하지 않음 시험하지만 무한 리디렉션에 종료하지 않고

관련 문제