질문/조언질답게시판

리디렉션,리다이렉션,리디렉트,리다이렉트 등의 문구로 아무리 찾아봐도 원하는 방법을 못 찾아서 질문드립니다.!!

 

제가 하고자하는 리디렉션은

 

예를들어 aaa.com이 제 사이트고 실제로 사이트내에 aaa.com/asdfghjkl 라는 페이지가 있든 없든  

aaa.com/asdfghjkl 로 접속(요청?)시 bbb.com/asdfghjkl url로 보내고 싶습니다. 

 

마찬가지로

제 사이트내에 aaa.com/qwert 라는 페이지가 있든 없든

aaa.com/qwert 로 접속(요청?)시 bbb.com/qwert url로 보내고 싶습니다.

 

이런식으로 aaa.com/모든하위url 을 bbb.com/모든하위url 로 이동시키고 싶습니다.

 

.htaccess 파일에서 위의 내용을 적용시킬 수 있는 문법이 있을까요?

 

만약 불가능 하다면 aaa.com 쪽에 페이지마다 각각 302 리디렉션을 적용하는 방법을 최종적으로 두고 있습니다.

 

초보자의 눈높이에서 말씀해주시면 너무 감사하겠습니다!!

  • profile

    RewriteRule ^(.*)$ http://bbb.com$1 [R=302, L]

     

    이런식으로 사용해보시는건 어떠신지요?

  • profile ?
    댓글 감사합니다.

    말씀하신대로

    RewriteEngine On

    RewriteRule ^(.*)$ http://bbb.com$1 [R=302, L]

    이렇게 해봤는데 500 서버에러가 뜹니다.ㅜ

    RewriteCond 를 따로 작성해줘야 하나요..?
  • profile

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^aaa.com$ [NC]
    RewriteRule ^(.*)$ http://bbb.com/$1 [R=302, L]

    음.. 이렇게 한번 해보세요.

  • profile ?
    답변 감사드립니다.

    말씀대로 해봤는데 또 500에러가 납니다.ㅜㅜ

    1.현재 제 호스팅은 닷홈에서 도메인 구입시 무료로 이용할 수있는 무제한웹호스팅 입니다.
    메인도메인은 호스팅만 설치된 빈공간 입니다.
    루트디렉토리에 xe폴더들을 각각 설치해서 서브도메인과 연결해서 이용중입니다.

    최상위 .htaccess 에
    RewriteEngine On
    RewriteCond $1 !^(xe1)/
    RewriteCond %{HTTP_HOST} ^a1\.aaa\.com [NC]
    RewriteRule ^(.*)$ /xe1/$1 [L]

    이런식으로 작성되어져 있고 정상적으로 쭉 이용해오고 있습니다.

    말씀해주신

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^aaa.com$ [NC]
    RewriteRule ^(.*)$ http://bbb.com/$1 [R=302, L]

    문법을,
    동일한 최상위 .htaccess에 작성해서 문제(500서버에러)가 생기는 걸까요..?
    500서버에러는 위 조언해주신 부분을 ftp로 수정 후, 주소창에 메인도메인 입력 시 발생하였습니다.


    2.중간에 또 계속 구글링해서 조금씩 수정해보다가 500서버에러가 안뜨는 경우도 있었습니다.
    그렇지만 xe 또는 닷홈호스팅에 기본적으로 존재하지 않는 페이지의 url 요청시 404페이지를 띄워주는
    듯 했습니다.

    존재하지 않는 url 리디렉션 관련해서 찾다가

    Options +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    이러한 문법을 찾았는데 맨 아래 RUle 부분을 수정하면 제가 본문에 적은 내용을 실현할 수 있을까요??
  • profile

    제 서버와 남는 도메인 이용해서 테스트해봤는데요...

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^noca.me$ [NC]
    RewriteRule ^(.*)$ https://shrai.net/noca$1 [R=302, L]

    위와 같이 V호스트로 설정해놓고(.htaccess 와 같은 역할)
    테스트 결과 잘 작동했습니다.

    http://noca.me/index.php >접속시> https://shrai.net/noca/index.php

    http://noca.me/test.php >접속시> https://shrai.net/noca/test.php
    로 연결됩니다. 한번 들어가서 작동 확인해보시고, 호스팅 내 htaccess 파일에 오타같은거 있나 확인해보세요.

     

    아마 다른 문제가 있지 않나 싶네요

     

     

  • profile ?
    댓글 감사드립니다.

    500서버에러 문제부터 해결하고자 저도 다른 도메인+빈호스팅 으로 다시 한 번 무명의생선님 첫 댓글에서 조언해주신 문법을 다시 적용시켰더니 정상적으로 리디렉션이 되었습니다!!

    잘은 모르겠지만 제가 500서버에러가 뜬 이유는 위에 제 댓글에 서브도메인을 서브폴더로 연결해주는 리와이트문법부분과 충돌??같은게 있었던 것 같습니다(정확한 원인은 초보라서 잘 모르겠습니다ㅜ)

    ----
    단, 말씀해주신

    RewriteRule ^(.*)$ http://bbb.com$1 [R=302, L]

    이 부분에서 com과 $1 사이에 / 의 유무가 조금 차이가 있었습니다.
    /를 넣든 넣지않든 aaa.com > bbb.com '최상위도메인 단위 이동'은 문제 없었지만,
    /를 넣지않은 경우 aaa.com/url1 와 같은 하위url 입력 시, 실제로 aaa.comur1 <이라는 주소로 이동되어
    정상적인 웹 페이지가 뜨지 않았습니다.

    다시 한 번 귀한 시간 내주셔서 정말 감사합니다.ㅜㅜ