0

나는 두 개의 링크가 그것을 방문자에게 자동으로 리디렉션하여 http://xxx.xxx.xxx.xxx/으로 보내려고합니다.동기화 크로스 도메인 페이지 주소

내가 연구하고 iframe을 사용하여 테스트했습니다

, 내가 링크는 로컬 서버에서 something 검색, 예를 들어, 내가 iframe이에 자동으로 http://xxx.xxx.xxx.xxx/something/로 번역 예를 http://something.something.com/something/ 얻을하지 않습니다, 번역하지 않습니다 insted , 그리고 그것은 존재하지 않았다. 그리고 iframe 탐색은 로컬 호스트 주소에 반영되지 않았습니다.

postMessage 또는 .htaccess을 사용하는 것과 같은 아이디어가 나왔지만이 문제를 해결하는 가장 좋은 방법은 무엇인지 혼란 스럽습니다. 나는 구글에서 무엇을 검색 할 지 확신하지 못하기 때문에 지침에 대해 정말로 감사 할 것입니다.

update.1 :

내가 FTP를 통해 제한된 액세스 할 수 있습니다, 그것은 내가 서버 루트 디렉토리 또는 시스템 및 서비스 구성에 액세스 할 수없는, 그래서 나는 home/www/mydir 디렉토리를 가지고 공유 도메인입니다.

답변

0

더 까다 롭지 만 해결했습니다. 상황을 악화시키기 위해 local 주소는 프록시 규칙을 사용할 수 없으므로 iframepostMessage.htaccess에 의존합니다.

프록시 방식의 부족에 어려움을 겪고 후, 나는의 .htaccess 그래서 어떤 링크가 동일한 주소 결과 내 index.html 파일 구성했습니다 local server

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/index.html$ 
RewriteRule .* /index.html [L] 

, 하나의 사용자 액세스를, 내가 그랬어 이 : 메시지를 전송할 수 amazon server

<iframe id="subD" width="100%" height="100%" src="http://x.x.x.x"> 
     Sorry your browser did not support iframes. 
    </iframe> 

    <script> 
     // load url on iframe 
     var sub = window.location.pathname; 
     document.getElementById("subD"). 
      contentWindow.document. 
      location.href="http://x.x.x.x" + window.location.pathname; 

     //get url from amazon server 
     window.addEventListener("message", updateUrl, false); 
     function updateUrl (event) { 
      var origin = event.origin || event.originalEvent.origin; 
      if (origin !== "http://x.x.x.x") 
       return; 
      current = window.location.pathname 

      //take care of maintaining a back history whille navigating 
      window.history.pushState({"link":current},"",event.data); 
     } 

     // on back/next event load history on frame 
     window.onpopstate = function(e){ 
      if(e.state == e.state.link){ 
       var rand = Math.floor((Math.random()*1000000)+1); 
       var iframe = document.getElementById('subD'); 
       iframe.src = "http://x.x.x.x" + e.state.link + "?uid=" + rand; 
      } else { 
       history.back(); 
      } 
     }; 
    </script> 

local server를 업데이트 :

<script> 
     parent.postMessage(window.location.pathname,"http://something.something") 
    </script> 
0

로컬 네트워크에서 각 로컬 PC의 /etc/hosts에 ip를 등록하여 별칭을 만들 수 있습니다.

xxx.xxx.xxx.xxx someting.something.com 
+0

저는 정확하지 않습니다. 실제로이 연구소에 저장된 많은 페이지가 있으며, FTP를 통해 액세스를 열어 제한된 접근 권한을 갖고 있습니다. 홈/www/myspace를 제공합니다. – RomuloPBenedetti

+0

아니요, 신청하면 귀하의 지역 PC에 당신은 당신의 로컬 브라우저에서'http : // something.something.com/something'에 접근 할 수 있습니다. 하지만 사실 당신의 요청은'http : // xxx.xxx.xxx.xxx/something'로 보내질 것이고, 서버 설정은 변하지 않습니다. – bekt

+0

오, 흥미 롭습니다.하지만 어디서나 액세스하는 모든 사람들에게이 기능이 필요합니다. 하지만 나는 undestand, 질문이 모호합니다 :) – RomuloPBenedetti