index.html에서 https 주소로 리다이렉트 하는게 가능할까요?

병맛폰   
   조회 4109   추천 0    

 저는 카페24 호스팅에 제로 보드를 씁니다.

예를 들어 제 홈페이지 도메인이 https://myhome.com 이라고 한다면...

제로보드를 쓰면 http://myhome.com/xe 로 되면서 뒤에 xe가 붙죠. 

http주소를 https 주소로 리다이렉트 하는 가장 일반적인 방법은 .htaccess 파일을 수정하는 건데요.

인터넷을 검색해 보니


<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

</IfModule>


이런 구문을 .htaccess 파일 최상단에 붙여넣으면 http주소가 자동으로 https로 리다이렉트 되더라구요.

문제는 .htaccess 파일까지 접근하게 하려면 사용자가 주소를 http://myhome.com/xe 처럼 뒤에 xe까지 붙여줘야 한다는 겁니다.

근데 보통 사람들은 xe 주소까지 안붙이잖아요?

그래서 어떻게 하면 일반주소를 치고 리다이렉트 하게 할까 고민중인데요.


 http://myhome.com 을 주소창에 쓰면 가장 먼저 접근되는 파일이 index.html 파일인거 같은데요.

내용을 살펴보면


<html>

<head>

<title>새해 복많이 받으세요. 2cpu 회원님덜</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head>

<frameset rows="*,0" border=0> 

<frame src="http://myhome.com/xe" frameborder=0 scrolling=auto>

</frameset> 

<noframes>

<body>

</body>

</noframes>

</html>



index.html 파일에서  http://myhome.com/xe 주소를 불러와서 사용자에게 보게끔 하는 구조인거 같은데요.

이렇게 되면 http://myhome.com로 접속해도 하위 주소로 접속이 되고 사용자의 창에는 xe를 안봐도 되죠.

그렇다면 index.html 파일을 수정하면 https 주소로 변경할수 있겠다는 생각이 들었는데요.

일반적으로 많이 쓰는 납치 태그로 하면...

<meta http-equiv="refresh" content="0;URL=https://myhome.com/xe'" />

이경우는 동작은 잘하는데 주소창에 https://myhome.com/xe 처럼 xe가 남아서 보기 흉합니다.

<meta http-equiv="refresh" content="0;URL=https://myhome.com'" />

이렇게만 쓰면 처음 페이지를 반복 호출하므로 무한 루프에 빠지고요.



그래서 머리를 굴리다 보니 html에 php 함수나 명령어를 불러서 거기서 https 주소로 변경하면 되지 않을까 생각했는데요.

인터넷을 검색해도 잘 나오지 않고 글자 출력하는 예제정도밖에 안나오네요.


제가 문외한이라서 그런데 방법을 아시면 알려 주시면 안될까요?

.htaccess 파일에 있는 아래 명령어들을...

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

</IfModule>


index.html에 넣어 동작시킬수는 없을까요?

짧은글 일수록 신중하게.
우당탕탕 2022-01
Html은 로컬사이드 파일이기때문에 자바스크립트 아닌이상 php같은 서버사이드 언어는 실행이 불가능 헙니다

말씀 하신것처럼 주소만 쳤을때 제일 처음 접근하는 파일이
Index.html 이라고 하셨는데 이것은
서버 설정에서 index.html 말고 다른 거로 바꿀수 있습니다
예를들면  Index.php  이런식으로요
서버설정을 바꾸시고 php에거 해결하시면 될거 같네요
     
김석중 2022-01
우당탕탕님 감사합니다.

html에서 자바 스크립트로 한줄 넣으니 바로 해결되었네요.

<script>
if(window.location.protocol == "http:"){
window.location.protocol = "https:";
}
</script>

이렇게 index.html 맨 앞줄에 넣으니 바로 해결되었어요.
.htaccess 파일 건드릴 필요도 없네요. ㅎㅎ
dateno1 2022-01
웹서버에서 처리하지말고, html에서 redirect라도 시키세요

http의 인덱스는 htm, https의 인덱스는 php 이런식으로 한다음 htm파일의 내용물을 xe쪽으로 redirect라도 시키면 됩니다


QnA
제목Page 1573/5708
2015-12   1678643   백메가
2014-05   5144500   정은준1
2017-04   3935   IRIX6530
2014-03   3935   보슬비내리…
2016-02   3935   차넷컴퓨터
2014-02   3935   가빠로구나
2013-12   3935   윈도우10
2019-06   3935   김건우
2018-07   3936   김건우
2014-04   3936   황진우
2019-06   3936   백룡
2014-07   3936   황진우
2020-08   3936   isaiah
2021-03   3936   학습자
2017-11   3936   컴박
2014-01   3936   방o효o문
2014-01   3936   방o효o문
2018-04   3936   이광용o용인
2014-01   3936   뮤노
2018-06   3936   gurcs
2023-06   3936   브라운콧
2016-05   3936   행수행님