서브도메인 메뉴경로 질문 채택완료
[대표] 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>
이런식으로 선언이 된다면 도메인이 바뀌어도 실행될것입니다.
소스도 일일이 수정안해도 되겠지요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
지금 business에서 모든게 정상적으로 보이나, 메뉴부분이 문제입니다.
[code]
<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">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>
</ul>
[/code]
==
어떻게 하신 것인지
구체적으로 말씀해 주실 수 있을까요.
댓글을 작성하려면 로그인이 필요합니다.
abcd.com과
business.abcd.com 이 같은 index.php를 바라보도록 설정되어있다면
/page/pr.php가
앞의 도메인이
business.abcd.com 이 되던
abcd.com 이 되던 아무런 오류없이 작동해야 정상입니다.
다시말해서
index.php가 처음에 동일하게 나오는지 점검이 우선입니다.
Domain 관리하는쪽에서 메인도메인과 서브도메인을 같은 ip를 바라보게 지정하셨다면
웹서버(apache, nginx)에서도 virtual host지정도 같은 서버를 지정하게 하시면 됩니다.
답변에 대한 댓글 1개
abcd.com과
business.abcd.com 는 다른 index.php 입니다.
index.php를 제외한 나머지 같은 head.php / head.sub.php / tail.php / tail.sub.php 만 바라보도록 설정하려 했습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인