테스트 사이트 - 개발 중인 베타 버전입니다

엣지에서만 적용이 안되는 htaccess 이슈 채택완료

coDribble 2년 전 조회 2,343

</p>

<p>

#### 그누보드5 rewrite BEGIN #####

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /</p>

<p> </p>

<p># a.co.kr 접속시 <a href="https://b.com" target="_blank" rel="noopener noreferrer">https://b.com</a> 으로 리디렉션</p>

<p>RewriteCond %{HTTP_HOST} ^a\.co\.kr$ [NC]

RewriteRule ^(.*)$ <a href="https://b.com/$1" target="_blank" rel="noopener noreferrer">https://b.com/$1</a> [R=301,L]</p>

<p> </p>

<p>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 #####

 </p>

<p>

기존 htaccess 에 

</p>

<p>RewriteCond %{HTTP_HOST} ^a\.co\.kr$ [NC]

RewriteRule ^(.*)$ <a href="https://b.com/$1" target="_blank" rel="noopener noreferrer">https://b.com/$1</a> [R=301,L]</p>

<p>

위 코드 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개

채택된 답변
+20 포인트

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

c
coDribble
2년 전
아직 오픈이 안된 사이트라 쪽지로 url 드렸습니다!
N
NDWEB
2년 전
http://a.co.kr을 https://a.co.kr 로 리다이렉트 해보시겠어요?
c
coDribble
2년 전
오?? 됩니다... 앞에 https 없이 그냥 a.co.kr 로 접속할 땐 왜 안되는건지...ㅠ
N
NDWEB
2년 전
http://a.co.kr 에서 응답은 301인데 변경점 url이 없어서 다시 http://a.co.kr로 요청하다보니 루프가 돌아서 뜬 오류인것 같습니다.

댓글을 작성하려면 로그인이 필요합니다.

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

c
coDribble
2년 전
아직 오픈이 안된 사이트라 쪽지로 url 드렸습니다!

댓글을 작성하려면 로그인이 필요합니다.

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

참고하세요..

 

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

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

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

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

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

 

</p>

<p><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="<a href="https://b.com/{R:1}"" target="_blank" rel="noopener noreferrer">https://b.com/{R:1}"</a> redirectType="Permanent" />

</rule></p>

<p><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></p>

<p><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></p>

<p><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></p>

<p><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></p>

<p><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></p>

<p><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></p>

<p><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></p>

<p><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></p>

<p><rule name="bbs/board seo rewrite rule" stopProcessing="true">

    <match url</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

천사의눈
2년 전
또 다른 답변..

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

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

그러나 이 작업은 서버에서의 권한이 필요하고, 서버 구성에 따라 다를 수 있으므로 서버 관리자나 호스팅 업체에게 문의하시는 것이 좋습니다.
c
coDribble
2년 전
답변 감사드립니다... 저도 챗gpt 는 사용하고 있어서 알려준대로 했었는데 안되더라구요ㅠ 그래서 도움을 구하고자 질문을 남겼습니다ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인