2012-02-21 6 views
4

작은 어플을 만들었습니다.하지만 오늘은 심각한 문제를 발견했습니다. 나는 같은 서버에 내 gwt 애플 리케이션과 휴식 json 애플 리케이션을 넣었습니다 같은 원산지 정책 문제를 알고있었습니다. 그러나 브라우저는 http://www.xyz.comhttp://xyz.com을 같은 소스로 간주하지 않으므로 사용자가 www.xyz.com에 접속하면 http://xyz.com에서 데이터를 가져올 수 없습니다.URL에 www가 있거나없는 액세스 제어 허용 허용 근원 문제

XMLHttpRequest cannot load http://xyz.com/backend/... 
Origin http://www.xyz.com is not allowed by Access-Control-Allow-Origin. 

이 처리하는 가장 좋은 방법은 무엇입니까 :

는 메시지인가? 내가 봤 거든 먼저 바람둥이에 대해 작동하지 않는 .htaccess 솔루션을 발견. 나는 빈 방문 페이지 index.html을 사용하여 URL이없는 URL로만 리다이렉트했다. 누군가가 여전히 URL을 입력 할 수 있기 때문에 가장 좋은 해결책은 아닙니다. www가있는 페이지는 색인을 생성하지 않으므로 리디렉션되지 않습니다.

도움이 될 것입니다.

답변

7

절대적으로 필요한 경우가 아니면 앱에 절대 URL을 사용하면 안됩니다.

e.e. http://www.example.com에서 앱을로드 할 수 있다면 코드에 'http://example.com'이 있어야합니다.

예를 들어,에서 일부 데이터를로드하려는 경우 http://example.com/abc/def는 다음 코드에서 "/abc/def"를 넣어 하지"http://example.com/abc/def". 이 http://example.com에서로드 된 않다면 응용 프로그램이 http://www.example.com에서로드 또는 http://example.com/abc/def에 된 경우 그 방법은, 브라우저 중 하나 http://www.example.com/abc/def에 URL을 해결합니다. 그리고 당신은 같은 원산지 정책에 부딪 칠 위험이 없습니다.

+0

좋습니다. 고맙습니다. –

1

단일 하위/도메인 아래에서만 웹 사이트를 호스팅해야합니다. http://www.example.com에 대한 모든 트래픽은 http://example.com으로 리디렉션되어야하며 그 반대의 경우도 마찬가지입니다.

+0

이게 들리 겠지만, 이것을 달성하는 방법으로 올바른 방향으로 나를 가르쳐 주시겠습니까? –

+0

웹 서버에 따라 다릅니다. 나는 바람둥이에 관해 아무것도 모른다. 그러나이 질문은 도움이 될지도 모른다 : http://stackoverflow.com/questions/1363605/tomcat-base-url-redirection – abraham

+0

당신의 노력에 감사드립니다. 질문을 게시하기 전에 솔루션을 찾으려고 할 때 언급 한 질문을 보았습니다. 문제는 여기와 다릅니다. –

관련 문제