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

서브도메인 메뉴경로 질문 채택완료

myfree 2년 전 조회 2,171

[대표] 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개

채택된 답변
+20 포인트

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

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

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

 

링크가 들어가는 곳은 

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

 

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

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

 

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

답변에 대한 댓글 1개

m
myfree
2년 전
이것은 config.php 에 있는 define('G5_DOMAIN', 'http://abcd.com'); 과는 무관한 새로운 변수 선언인거군요. 이런식으로 해도 문제가 없나봐요. 정해진 룰이 있는줄..

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

business.abcd.com

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

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

답변에 대한 댓글 2개

m
myfree
2년 전
카페24에서 제공하는 서브도메인으로 만들었고 지정경로를 business 폴더로 지정했습니다.
지금 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">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>

</ul>
[/code]
엑스엠엘
2년 전
카페24에서 제공하는 서브도메인으로 만들었고 지정경로를 business 폴더로 지정...
==
어떻게 하신 것인지
구체적으로 말씀해 주실 수 있을까요.

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

플래토
2년 전

abcd.com과

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

 

/page/pr.php가 

앞의 도메인이 

business.abcd.com 이 되던

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

 

다시말해서

 

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

 

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

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

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

답변에 대한 댓글 1개

m
myfree
2년 전
감사합니다!

abcd.com과
business.abcd.com 는 다른 index.php 입니다.

index.php를 제외한 나머지 같은 head.php / head.sub.php / tail.php / tail.sub.php 만 바라보도록 설정하려 했습니다.

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

플라이
2년 전

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

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

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

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

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

로그인