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

병맛폰   
   조회 4102   추천 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 1570/5708
2014-05   5142406   정은준1
2015-12   1676610   백메가
2017-05   3927   후리기
2017-11   3927   지수삼촌
2016-07   3927   주영진영아빠
2021-01   3928   진신두
2018-06   3928   리장님
2016-07   3928   EYESSHOT
2019-02   3928   정상억
2015-09   3928   회원K
2014-05   3928   오준호5
2019-04   3928   봉래
2022-03   3928   JJ시스템
2018-07   3928   osthek83
2017-12   3928   늘파란
2018-10   3928   마스코트
2017-03   3929   yaro
2018-07   3929   e5472
2016-10   3929   김건우
2017-02   3929   김건우
2016-06   3929   geniefix
2014-01   3929   김민철GC