엣지에서만 적용이 안되는 htaccess 이슈

엣지에서만 적용이 안되는 htaccess 이슈

QA

엣지에서만 적용이 안되는 htaccess 이슈

본문



#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
 
# a.co.kr 접속시 https://b.com 으로 리디렉션
RewriteCond %{HTTP_HOST} ^a\.co\.kr$ [NC]
RewriteRule ^(.*)$ https://b.com/$1 [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^shop/list-([0-9a-z]+)$  shop/list.php?ca_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/type-([0-9a-z]+)$  shop/listtype.php?type=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([0-9a-zA-Z_\-]+)$  shop/item.php?it_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([^/]+)/$  shop/item.php?it_seo_title=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([0-9a-zA-Z_]+)$  bbs/content.php?co_id=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([^/]+)/$  bbs/content.php?co_seo_title=$1&rewrite=1      [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$  bbs/rss.php?bo_table=$1        [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$  bbs/board.php?bo_table=$1&rewrite=1      [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1      [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$  bbs/write.php?bo_table=$1&rewrite=1    [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$  bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1  [QSA,L]
</IfModule>
#### 그누보드5 rewrite END #####
 

기존 htaccess 에 


RewriteCond %{HTTP_HOST} ^a\.co\.kr$ [NC]
RewriteRule ^(.*)$ https://b.com/$1 [R=301,L]

위 코드 2줄을 추가했는데요.

 

카페24 서버 사용중이고, 하나의 서버에 2개의 도메인 a.co.kr 과 b.com 이렇게 연결된 상태입니다. 도메인은 둘다 ssl 인증도 해둔상태입니다.

 

그런데 로그인이 풀리는 이슈로 인해 한 도메인으로만 접속이 되게 하기위해 리디렉션을 걸어둔 상태인데요....

 

크롬, 웨일, 파폭 모두 a.co.kr 접속시 https://b.com 으로 이동이 잘 됩니다.

서브페이지로 접속해도 이동이 잘 되고있는데요. ex) a.co.kr/shop/mypage.php 로 접속해도 https://b.com/bbs/login.php?url~~~~~ 로그인 페이지로 이동되고, 로그인하면 b.com/shop/마이페이지로이동도 잘 됩니다.

 

그런데 엣지에서만 적용이 안되고 있습니다.

 

엣지에서 a.co.kr 접속시 ERR_TOO_MANY_REDIRECTS 가 떠서 해당 에러관련해서 검색해보니 쿠키 삭제 해보라고 해서 쿠키도 지워봤지만 해결이 안되고 있습니다.

 

심지어 엣지에서는 b.com 으로 접속하면 https 가 붙지 않은채 안전하지않음이 뜹니다.

 

추가한 2줄을 지우고 엣지에서 a.co.kr 또는 b.com 으로 접속하면 둘 다 접속은 됩니다. 근데 SSL적용은 안된채로 접속이 됩니다.

 

대체 엣지만 왜 그런건지 알 수가 없어 문의 남겨봅니다ㅠ

이 질문에 댓글 쓰기 :

답변 3

다른 브라우저에서는 정상적으로 작동하고있다면 엣지 브라우저 안에서 일어난 문제일 확률이 큽니다.

 

URL 남겨주시면 제쪽에서도 확인해보겠습니다.

챗GPT답변입니다. 궁금해서 물어봤는데 아래와 같은 답변을 나왔는데 뭔말인지 모르겠네요.

참고하세요..

 

그누보드5의 rewrite 규칙은 일반적으로 Apache 모듈인 mod_rewrite를 사용하여 작성됩니다.

하지만 엣지는 IIS (Internet Information Services) 웹 서버를 사용하므로 Apache와 다른 구성을 가지고 있습니다.

이러한 차이로 인해 Apache에서는 작동하는 rewrite 규칙이 IIS에서는 작동하지 않을 수 있습니다.

따라서 IIS에서도 작동할 수 있는 rewrite 규칙을 작성해야 합니다.

아래는 IIS에서 사용 가능한 예시입니다.

 


<rule name="Redirect a.co.kr to b.com" stopProcessing="true">
    <match url="^(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^a\.co\.kr$" />
    </conditions>
    <action type="Redirect" url="https://b.com/{R:1}" redirectType="Permanent" />
</rule>
<rule name="shop/list rewrite rule" stopProcessing="true">
    <match url="^shop/list-([0-9a-z]+)$" />
    <action type="Rewrite" url="shop/list.php?ca_id={R:1}&rewrite=1" />
</rule>
<rule name="shop/type rewrite rule" stopProcessing="true">
    <match url="^shop/type-([0-9a-z]+)$" />
    <action type="Rewrite" url="shop/listtype.php?type={R:1}&rewrite=1" />
</rule>
<rule name="shop/item rewrite rule" stopProcessing="true">
    <match url="^shop/([0-9a-zA-Z_\-]+)$" />
    <action type="Rewrite" url="shop/item.php?it_id={R:1}&rewrite=1" />
</rule>
<rule name="shop/item seo rewrite rule" stopProcessing="true">
    <match url="^shop/([^/]+)/$" />
    <action type="Rewrite" url="shop/item.php?it_seo_title={R:1}&rewrite=1" />
</rule>
<rule name="bbs/content rewrite rule" stopProcessing="true">
    <match url="^content/([0-9a-zA-Z_]+)$" />
    <action type="Rewrite" url="bbs/content.php?co_id={R:1}&rewrite=1" />
</rule>
<rule name="bbs/content seo rewrite rule" stopProcessing="true">
    <match url="^content/([^/]+)/$" />
    <action type="Rewrite" url="bbs/content.php?co_seo_title={R:1}&rewrite=1" />
</rule>
<rule name="bbs/rss rewrite rule" stopProcessing="true">
    <match url="^rss/([0-9a-zA-Z_]+)$" />
    <action type="Rewrite" url="bbs/rss.php?bo_table={R:1}" />
</rule>
<rule name="bbs/board rewrite rule" stopProcessing="true">
    <match url="^([0-9a-zA-Z_]+)$" />
    <action type="Rewrite" url="bbs/board.php?bo_table={R:1}&rewrite=1" />
</rule>
<rule name="bbs/board seo rewrite rule" stopProcessing="true">
    <match url

 

또 다른 답변..

이 rewrite 규칙이 Edge에서 작동하지 않는 이유는 아마도 mod_rewrite 모듈이 Edge에서 활성화되어 있지 않기 때문일 것입니다.

Edge에서 mod_rewrite 모듈을 사용하도록 설정하려면, httpd.conf 파일에서 "LoadModule rewrite_module modules/mod_rewrite.so"와 같은 줄을 찾아 주석 처리된 상태에서 제거하고 모듈을 로드하도록 설정해야 합니다.

그러나 이 작업은 서버에서의 권한이 필요하고, 서버 구성에 따라 다를 수 있으므로 서버 관리자나 호스팅 업체에게 문의하시는 것이 좋습니다.

해당 도메인을 올려 보시는 것이 좋을 듯 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 16,782
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT