도메인 주소가 맞지 않아서 javascript가 정상적으로 동작하지 않는경우..
다음과 같이 결제를 연동하고자 할경우 도메인 주소가 맞지 않아서 팝업에서 부모창을 변경하지 못하는 경우가 발생하였다.
결제 페이지(부모) -> 결제연동창(팝업) -> 결제결과(팝업) -> 결제 페이지 변경(부모)
결제 페이지를 팝업창과 같은 주소를 사용하면 정상적으로 처리가 되었다.
해당 결제 페이지의 주소를 강제로 원하는 도메인으로 변경하기 위해 다음과 같이 처리하였다.
using System.Text.RegularExpressions; 를 추가하고
Page_Load부분에서 다음 함수를 호출하면 자동으로 현재 도메인 주소를 원하는 도메인 주소로 변경해준다.
protected void DomainCheck()
{
string fromUrl = "http://www.naver.com/"; //변경에 사용될 도메인주소
string toUrl = "http://naver.com/"; //변경될 도메인 주소
string url = HttpContext.Current.Request.Url.ToString();
if (Regex.IsMatch(url, fromUrl, RegexOptions.IgnoreCase))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Regex.Replace(url, fromUrl, toUrl, RegexOptions.IgnoreCase));
}
}
RegexOptions.IgnoreCase : 대소문자 구분없이 동일한 값인지 체크한다.
* 참고로 위의 fromUrl이 들어올 경우에만 toUrl로 변경된다.
댓글 영역