서브도메인 메뉴경로 질문

서브도메인 메뉴경로 질문

QA

서브도메인 메뉴경로 질문

본문

[대표] abcd.com

[서브] business.abcd.com

 

메뉴 링크가 <a href="/page/pr.php"></a> 이렇게 되어있습니다.

 

abcd.com 에서는 정상적으로 나오지만

business.abcd.com 에서는 오류가 뜹니다.

 

오류 이유) business.abcd.com/page/pr.php 로 나옴

 

경로를 abcd.com/page/pr.php 로 바꿔야하는데 방법을 모르겠슴다.

<a href="http://abcd.com/page/pr.php"></a> 로 하게되면 나중에

도메인주소가 변경될때마다 다시금 작업을 해줘야 하자나요. 

 

이런 불편함 없이 한번에 깔끔하게 하는방법 있을까요?

 

 

이 질문에 댓글 쓰기 :

답변 4

도메인을 바라보는 공통상수를 선언하시고 모든파일에서 바라보게 하는 head에 해당 상수를 선언하면

도메인이 바뀌어 다른 곳을 바라보더라도 한번에 작업이 될것 입니다.

head.php를 공통으로 바라본다면 상수형변수 선언 define('DOMAIN',"abcd.com");

 

링크가 들어가는 곳은 

<a href='<?=DOMAIN?>/page/pr.php'>링크</a>

 

이런식으로 선언이 된다면 도메인이 바뀌어도 실행될것입니다.

소스도 일일이 수정안해도 되겠지요

 

abcd.com과

business.abcd.com 이 같은 index.php를 바라보도록 설정되어있다면

 

/page/pr.php가 

앞의 도메인이 

business.abcd.com 이 되던

abcd.com 이 되던 아무런 오류없이 작동해야 정상입니다.

 

다시말해서

 

index.php가 처음에 동일하게 나오는지 점검이 우선입니다.

 

Domain 관리하는쪽에서 메인도메인과 서브도메인을 같은 ip를 바라보게 지정하셨다면

웹서버(apache, nginx)에서도 virtual host지정도 같은 서버를 지정하게 하시면 됩니다.

변경적용할 주소를 config.php 에 적용해 두어 한곳의 변수만 변경되면 링크가 변경되도록 처리하시면 추후 관리시 용이하실겁니다.
 

지금은 G5_DOMAIN 이런식으로 되어 있는걸 별도로 추가해서 연결할 주소를 선언해서 적용하시면 되십니다.

business.abcd.com

이 호스트네임을 호스팅에 연결하신 거죠??

카페24에서 제공하는 서브도메인으로 만들었고 지정경로를 business 폴더로 지정했습니다.
지금 business에서 모든게 정상적으로 보이나, 메뉴부분이 문제입니다.



                    <ul class="cl flexBox">
                       
                        <?php $menu_datas = get_menu_db(0, true); $gnb_zindex = 999; $i = 0;
                foreach( $menu_datas as $row ){
                    if( empty($row) ) continue;
                    $add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
                        ?>
                        <li style="z-index:<?php echo $gnb_zindex--; ?>">
                            <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>"><?php echo $row['me_name'] ?></a>
                            <?php
                        $k = 0;
                    foreach( (array) $row['sub'] as $row2 ){
                        
                        if(strpos($_SERVER['REQUEST_URI'],$row2['me_link']) !== false) {
                           $sub_path = "HOME | ".$row['me_name']." | <span>".$row2['me_name']."</span>" ;
                        }                        

                        if( empty($row2) ) continue; 

                        if($k == 0)
                            echo '<ul class="header-local-menu">'.PHP_EOL;
                        ?>
                        <li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name'] ?></a>
                                  
                        </li>
                        <?php
                           $k++;
                        }   //end foreach $row2

                    if($k > 0)
                        echo '</ul>'.PHP_EOL;
                        ?>
                        </li>
                        <?php
                        $i++;
                        }   //end foreach $row

                        if ($i == 0) {  ?>
                        <li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
                        <?php } ?>
                        
                    </ul>

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

회원로그인

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