goto_url관련해서 질문 올립니다.
본문
안녕하세요. 초보적인 질문이라 여쭙기 민망하지만, 용기를 내서.. ㅎㅎ
추가 기능을 넣어보고 싶어서 폴더를 새로 생성후에 주소창에 해당 폴더를 입력하면
바로 갈수있도록 goto_url을 사용했습니다. 근데 제일 앞 로컬주소는 그대로 가진채로
가기때문에 중복이 발생하네요.
ex) localhost/gnuboard 에서
localhost/gnuboard/new 입력
localhost/gnuboard/new/index.php가 아닌
localhost/localhost/gnuboard/new로 이동.
혹시 아시면 답변 부탁 드립니다.. ^^;
답변 3
그누보드 common.php 를 include 한 페이지라고 가정하면..
goto_url(G5_URL.'/new');
이렇게 하시면 될듯요. G5_URL 은 그누보드 설치된 URL 을 가리키는 그누보드 매크로입니다.
./ 대신 ../ 을 사용하세요.
// 메타태그를 이용한 URL 이동
// header("location:URL") 을 대체
function goto_url($url)
{
$url = str_replace("&", "&", $url);
//echo "<script> location.replace('$url'); </script>";
if (!headers_sent())
header('Location: '.$url);
else {
echo '<script>';
echo 'location.replace("'.$url.'");';
echo '</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
echo '</noscript>';
}
exit;
}
위에 있는 common.lib.php에 있는 goto_url함수를 이용하려고 하구요.
일단 제가 만들려는게 기본 그누보드에서 ex)http://localhost/gnuboard
폴더를 하나더 생성하여 ex)newBbs
기능을 추가하려하는데요.
해당 폴더에 index.php와 common.sub.php파일을 하나 만들고 common.sub.php에
회원이 아니면 로그인을 하고 회원이라면 해당 경로로 이동하라고 하려고 합니다.
이 이동 함수가 goto_url();이라 그냥 이걸 쓰려고 했는데
goto_url($new_path);를 하면 실제 주소창에 http://localhost/gnuboard/localhost/gnuboard/newBbs?mb_id='회원아이디'
이런식으로 포워딩됩니다.
$new_path는 localhost/gnuboard/newBbs?mb_id='회원아이디' 이런식으로 구성했구요.
제가 일단 임시로 직접 경로를 지정했지만 goto_url()을 제가 몰라서 못쓰는거 같아 궁금해서
질문남겼습니다. ㅎㅎ;