설치후 주소가..
그누보드 b3설치는되고 접속하면
주소넘어갈때 aaa.com/web/bbs/current_connect.php 이렇게가야는데
aaa.comweb/bbs/current_connect.php
↑
요렇게 넘어가는데 왜이런거죠? ㅠㅠ
주소넘어갈때 aaa.com/web/bbs/current_connect.php 이렇게가야는데
aaa.comweb/bbs/current_connect.php
↑
요렇게 넘어가는데 왜이런거죠? ㅠㅠ
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 5개
보안서버 경로를 사용하는 경우 ../bbs 와 같은 주소를 사용하게 되면 경고창이 발생하게 되므로 웹상의 직접주소와 서버상의 직접경로로 표시하게 되었습니다.
테스트 하시는 곳의 주소와 FTP 정보를 비밀글로 알려주시면 경로 문제를 해결하는데 많은 도움이 됩니다.
"/"가 빠저서 메인화면이 텍스트만나오고 다른 링크로는 전혀안들어가져요 ㅠ
[code]
function g4_path()
{
$path = dirname(__FILE__); // 예) /home/sir/www/g4s
$linux_dir = str_replace("\\", "/", $path); // 예) /home/sir/www/g4s
$document_root = str_replace("\\", "/", $_SERVER['DOCUMENT_ROOT']); // 예) /home/sir/www
if (strpos($linux_dir, $document_root) === false) {
// DOCUMENT_ROOT와 실제 실행파일 경로가 다른 경우
// 예:
// var_dump($_SERVER['DOCUMENT_ROOT']): "C:/public/www"
// var_dump(dirname(__FILE__)): "C:\public\boards\g4s"
//
// 이런 경우는 SCRIPT_NAME에서 디렉토리 경로를 하나씩 올라가면서 linux_dir에 그 디렉토리가 존재하면
// 그 때가 우리가 원하는 $base_dir이 된다.
// $needle = dirname($_SERVER['SCRIPT_NAME']);
// while (strpos($linux_dir, $needle) === false) $needle = dirname($needle);
// 더 간단하게...
for($base_dir = dirname($_SERVER['SCRIPT_NAME']); strpos($linux_dir, $base_dir) === false; $base_dir = dirname($base_dir));
if (strlen($base_dir) && strlen($linux_dir) != (strrpos($linux_dir, $base_dir)+strlen($base_dir))) {
// 만일 스크립트가 g4s가 설치된 곳이 아닌 디렉토리라면
// $linux_dir에서 $base_dir이 시작되는 포지션값과 $base_dir 스트링 길이를 합한 값이 $lnux_dir 스트링 길이와 일치하지 않게 된다.
//
// 예:
// $linux_dir = 'C:/public/boards/g4s'
// dirname($_SERVER['SCRIPT_NAME']) = '/boards/main'
// $base_dir = /boards
// 이런 경우는 $base_dir로 나온 값을 기준으로 $linux_dir에서 가져오면 된다.
// $lnux_dir에서 $base_dir에서부터 뽑아오면 /boards/g4s가 된다. 이것이 우리가 원하는 값...
//
// $lnux_dir = 'C:/public/boards/g4s'
// dirname($_SERVER['SCRIPT_NAME'] = '/boards'
// $base_dir = '/boards'
// $lnux_dir에서 $base_dir에서부터 뽑아오면 /boards/g4s가 된다. 이것이 우리가 원하는 값...
$base_dir = substr($linux_dir, strrpos($linux_dir, $base_dir));
}
}
else {
$base_dir = preg_replace('#^'.$document_root.'#i', '', $linux_dir); // 예) /g4s
}
if (strlen($base_dir) && substr($base_dir, 0, 1) != '/') $base_dir = '/'.$base_dir;
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
$result = array();
// 윈도우의 경우 역슬레쉬 경로인데 그다지 권장하지 않는다. php에서는 슬레쉬도 경로 인자로 인식하므로 슬레쉬 사용.
//$result['path'] = $path;
$result['path'] = $linux_dir;
$result['url'] = $http.$_SERVER['SERVER_NAME'].$port.$base_dir;
$result['curr_url'] = $http.$_SERVER['SERVER_NAME'].$port.$_SERVER['PHP_SELF'];
$result['curr_uri'] = $result['curr_url'] . ($_SERVER['QUERY_STRING'] ? '?'.$_SERVER['QUERY_STRING'] : '');
return $result;
}
[/code]
[code]
function g4_path()
{
$result['path'] = str_replace('\\', '/', dirname(__FILE__));
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);
$document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']);
$root = str_replace($document_root, '', $result['path']);
$port = $_SERVER['SERVER_PORT'] != 80 ? ':'.$_SERVER['SERVER_PORT'] : '';
$http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';
$user = str_replace(str_replace($document_root, '', $_SERVER['SCRIPT_FILENAME']), '', $_SERVER['SCRIPT_NAME']);
$result['url'] = $http.$_SERVER['SERVER_NAME'].$port.$user.$root;
return $result;
}
[/code]