고정 URL 적용하기 정보
일반 고정 URL 적용하기본문
이번에 URL을 고정하기 위해 자료도 검색해 보면서 나름대로 완성을 했습니다.
각자 계정 기본설정에 따라 안되는 부분도 있을 테지만 한번 적어 봅니다.
우선 프레임을 이용했고요.
저의 폴더 구조는 gnu3를 루트에 설치한 것입니다. 결국 루트에 index.php 가 위치해 있겠죠?
1. 우선 기존의 index.php를 index_ori.php 로 수정합니다.
2. 그리고 index.php에는 다음과 같이 수정합니다.
###################################################################################################
<?
$LastModified = gmdate("D d M Y H:i:s", filemtime($HTTP_SERVER_VARS[SCRIPT_FILENAME]));
header("Last-Modified: $LastModified GMT");
header("ETag: \"$LastModified\"");
?>
<html><head><title>제목</title>
<meta http-equiv='content-type' content='text/html; charset=euc-kr'>
</head>
<frameset rows="*, 100%" cols="1*" border="0">
<frame name="top" scrolling="no" marginwidth="0" marginheight="0" src="top.html" noresize>
<frame name="main" scrolling="yes" marginwidth="0" marginheight="0" src="index_ori.php">
<noframes>
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<p>이 페이지를 보려면, 프레임을 볼 수 있는 브라우저가 필요합니다.</p>
</body>
</noframes>
</frameset>
</html>
##################################################################################################
여기까지하면 주소고정은 되지만, 로그인이 안되거나, 게시판 등 제대로 동작을 하지 않는 경우가 있는데.
이것은 상대경로의 링크가 잘못걸려서 그렇습니다.
gnu3의 php 소스 및 다운로드 받은 스킨들을 보면 페이지 링크에서 다음과 같은 링크들이 있습니다.
'./?doc=페이지주소'
'?doc=페이지주소'
'index.php?doc=페이지주소'
'./$cfg[index]?doc=페이지주소'
'$cfg[index]?doc=페이지주소'
이부분을 다음과 같이 수정해 주어야 합니다.
'?doc=페이지주소'
저같은 경우는 이렇게 하니깐 다 되더라고요.
그리고 비슷한 내용으로 이건 저의 의견입니다.
루트의 config.php 라는 파일에
$cfg[index] = index.php
라도 되어 있는 부분이 있는데
이 부분을 위에서 변경한 index_ora.php 로 수정해 주고,
모든 php 파일을 '?doc=' 대신 '$cfg[index]?doc' 로 변경한다면 하나의 표준 처럼 되지 않을까 쉽네요.
물론 기존 gnu3 소스는 관리자님이 수정해주셔야 할테고,
새로 올리는 스킨들도 위와 같은 형식을 쓴다면
고정 URL에서도 다 작동하지 않을까 싶습니다.
혹시 제가 틀린 부분이 있다면 알려주세요. ^^
그럼 이만.
각자 계정 기본설정에 따라 안되는 부분도 있을 테지만 한번 적어 봅니다.
우선 프레임을 이용했고요.
저의 폴더 구조는 gnu3를 루트에 설치한 것입니다. 결국 루트에 index.php 가 위치해 있겠죠?
1. 우선 기존의 index.php를 index_ori.php 로 수정합니다.
2. 그리고 index.php에는 다음과 같이 수정합니다.
###################################################################################################
<?
$LastModified = gmdate("D d M Y H:i:s", filemtime($HTTP_SERVER_VARS[SCRIPT_FILENAME]));
header("Last-Modified: $LastModified GMT");
header("ETag: \"$LastModified\"");
?>
<html><head><title>제목</title>
<meta http-equiv='content-type' content='text/html; charset=euc-kr'>
</head>
<frameset rows="*, 100%" cols="1*" border="0">
<frame name="top" scrolling="no" marginwidth="0" marginheight="0" src="top.html" noresize>
<frame name="main" scrolling="yes" marginwidth="0" marginheight="0" src="index_ori.php">
<noframes>
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<p>이 페이지를 보려면, 프레임을 볼 수 있는 브라우저가 필요합니다.</p>
</body>
</noframes>
</frameset>
</html>
##################################################################################################
여기까지하면 주소고정은 되지만, 로그인이 안되거나, 게시판 등 제대로 동작을 하지 않는 경우가 있는데.
이것은 상대경로의 링크가 잘못걸려서 그렇습니다.
gnu3의 php 소스 및 다운로드 받은 스킨들을 보면 페이지 링크에서 다음과 같은 링크들이 있습니다.
'./?doc=페이지주소'
'?doc=페이지주소'
'index.php?doc=페이지주소'
'./$cfg[index]?doc=페이지주소'
'$cfg[index]?doc=페이지주소'
이부분을 다음과 같이 수정해 주어야 합니다.
'?doc=페이지주소'
저같은 경우는 이렇게 하니깐 다 되더라고요.
그리고 비슷한 내용으로 이건 저의 의견입니다.
루트의 config.php 라는 파일에
$cfg[index] = index.php
라도 되어 있는 부분이 있는데
이 부분을 위에서 변경한 index_ora.php 로 수정해 주고,
모든 php 파일을 '?doc=' 대신 '$cfg[index]?doc' 로 변경한다면 하나의 표준 처럼 되지 않을까 쉽네요.
물론 기존 gnu3 소스는 관리자님이 수정해주셔야 할테고,
새로 올리는 스킨들도 위와 같은 형식을 쓴다면
고정 URL에서도 다 작동하지 않을까 싶습니다.
혹시 제가 틀린 부분이 있다면 알려주세요. ^^
그럼 이만.
추천
0
0
댓글 전체
맞습니다.
$cfg[index] = "index.php";을 이용하는 것이 동적인 홈페이지를 구현할 수 있지 않나 싶습니다.
초보자분들께 권하는 방법은 루트에 있는 모든 파일을 특정 폴더를 만들어 옮겨버리고,
히든 프레임을 이용한 주소 고정을 권하는것이 좋을 듯 싶습니다.
저도 이번 홈피 제작시에 $cfg[index] 배열을 이용해 볼까 합니다.
저번에는 $cfg[bbs_dir] 배열명을 사용하도록 해보았거든요.
팁 감사합니다. 즐거운 시간되세요.
$cfg[index] = "index.php";을 이용하는 것이 동적인 홈페이지를 구현할 수 있지 않나 싶습니다.
초보자분들께 권하는 방법은 루트에 있는 모든 파일을 특정 폴더를 만들어 옮겨버리고,
히든 프레임을 이용한 주소 고정을 권하는것이 좋을 듯 싶습니다.
저도 이번 홈피 제작시에 $cfg[index] 배열을 이용해 볼까 합니다.
저번에는 $cfg[bbs_dir] 배열명을 사용하도록 해보았거든요.
팁 감사합니다. 즐거운 시간되세요.
^^
주소 고정하기