2차 도메인의 rewrite rule 질문 입니다.
매번 눈팅만 하다가 좀 난감한 문제가 발생하여 질문을 드려 죄송하고
질문 시작 하겠습니다.
메인 웹서버에서 메인 페이지 및 클럽/블로그 형태의 웹을 돌리려고 하고 있는데,
여기서 좀 골치가 아픈 일이 생겨서 말이죠
다름이 아니고 CI 를 이용하여 개발을 하고 있는데
컨트롤러 단에서 서비스를 분리하려고 합니다.
Controller -> main_web
-> club
-> etc...
현재 클럽을 예로 들면
www.test.com/club/index/CLUB_ID 의 경로로 가면 클럽의 메인 페이지가 나오는 구조 입니다.
(실제로 이렇게 구현되어 있고 잘 돌아 갑니다)
그러나
제가 생각하고 있는것은 위의 url 구조가 아니고
club.test.com/CLUB_ID 의 url 구조입니다.
그래서 .htaccess 를 손보고 있는데 잘 안되더군요
=================================================
RewriteEngine on
RewriteCond %{HTTP_HOST} ^club\.test\.com/*
#RewriteRule ^(.*)$ http://test.com/index.php/club/index/$1 [L]
RewriteRule ^/(.*)$ /home/test.com/public_html/index.php club index $1 [L]
#CI conf start
RewriteCond $1 !^(index\.php|css|js|img|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
=================================================
RewriteRule ^(.*)$ http://test.com/index.php/club/index/$1 [L] 이렇게 구현하면
잘 돌아가나, 문제는 브라우져의 url 이 redirecting 되어
실제로 브라우져상의 url 이 "www.test.com/club/index/CLUB_ID" 이런형식으로 보이게 됩니다.;;;
그래서
RewriteRule ^/(.*)$ /home/test.com/public_html/index.php $1 [L]
이런 형식으로 구현을 해 보려고 하는데 이것은 오류가 발생하고 이 자체만으론 redirect 순환 오류가
발생하는것도 같아서 골치가 아픈 상태구요
마지막으로
routes.php 를 수정하여
if( /* 호스트가 클럽쪽에서 온 것이라면 */){
//$route['(:any)'] = "/club/index/$1";
}
이렇게 구현을 하니까 일단은 됩니다.
그러나 이런 redirect 에 관련된 부분을 php 에서 처리하는 것이 좀 부담스럽고
일단 라우팅 소스에 이런 부분이 있는다것 자체가 자꾸 거슬리고 있는지라
되도록이면 apache rewite 에서 해결을 하고 싶은데 잘 안되네요
CI로 수년간 개발해 오신 분들의 조언과 경험담을 부탁 드려 봅니다.
RewriteRule ^(.*)$ club/index.php/$1 [L]
이렇게 하시면 될꺼같아여