으아아 지금 그누보드 전면 짧은주소 만들기 프로젝트 진행중인데...ㄷㄷ > 자유게시판

자유게시판

으아아 지금 그누보드 전면 짧은주소 만들기 프로젝트 진행중인데...ㄷㄷ 정보

으아아 지금 그누보드 전면 짧은주소 만들기 프로젝트 진행중인데...ㄷㄷ

본문

으아아 지금 그누보드 전면 짧은주소 만들기 프로젝트 진행중인데 그누보드가 그누보드가 아니게 되버렸어요...

구조들이 잖득 바뀌고 소스도 대폭 수정 지금 너무 일이 커져버렸어요 ㅠㅠ 

괜히 손댓어...괜히 손댓어...

현 진행률 약 70% 정도일까나... 힘들어요.. 

이거 다 만들면 배포해 볼까요..?

아참.. 잛은 주소 만들기 프로젝트란 sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=123 같은 주소가 sir.co.kr/b/cm_free/123 처럼 짧아지게 만드는 거랍니다~

아 그리고 전 오늘 자유게시판에 처음 등장했어요 앞으로도 가끔 등장할 태니 잘부탁 드립니다.

에... 또 http://uani.kr.pe 짧은주소 만들기 프로젝트를 테스트 해보고 있는 서버에요.
둘러보시고 오류라던지 있으면 알려주시면 감사하겠습니다.
추천
0

댓글 12개

개인적으로 시도했다가 초보다보니 중간에 포기한 일이여서 무척 반갑네요.
업데이트 될 때마다 유지보수가 정말 힘들어서 혼자 할 수 있는 일은 아닌 것 같습니다.
몇몇 분이 다함께 작업하면 참 좋을 텐데요.

그런데 그누보드4로 작업하는게 아쉽네요^^

http://uani.kr.pe/new 에서 게시판을 클릭하면 에러가 나오네요.
http://uani.kr.pe/board.php?bo_table=test
고맙습니다~
이거 다하면 그누5 도 한번 해볼까요...?
근데.. 사실 지금 이 그누4도 위에 말했듯이 그누 4가 아니게 되버려서 완전 폴더들하고 다바껴버리는 현상이..ㄷㄷ
고등학생이다보니 아직 이쪽으로 주변에 아는 분들도 없고 해서요..
혼자 작업하고 있답니다..
ㅎㅎ 저도 지금 단축 url작업중인데 막히는부분이 많네요 ㅎㅎ 나중에 다시보러갈께여 ㅋㅋㅋ
네~
.htaccess이 파일을 만들어서 하는데 속에 들어가는 게 많아져 버렷에요 ㅎㅎ...  사실 이걸 줄일수도 있는데 왠지 이걸 줄일수 있는 소스가 작동을 안해서요.. 왠지 자꾸만 존재하지 않는 게시판이라고하고 mySQL오류가...ㄷㄷ 밑엔껀 .htaccess소스에요

ErrorDocument 404 /404.php 
<IfModule mod_rewrite.c>
RewriteEngine On
#보드
RewriteRule ^b/([a-zA-Z0-9_]+)$ bbs/board/board.php?bo_table=$1 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)([@&]+)$ bbs/board/board.php?bo_table=$1&page= [L]
RewriteRule ^b/([a-zA-Z0-9_]+)@([0-9]+)$ bbs/board/board.php?bo_table=$1&page=$2 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)@([0-9]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2&page=$3 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)#([a-zA-Z0-9_]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2&cwin=#$3[L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)@([0-9]+)#([a-zA-Z0-9_]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2&page=$3&cwin=#$4[L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)&([^.]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)@([0-9]+)&([^.]+)$ bbs/board/board.php?bo_table=$1&page=$2 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)@([0-9]+)&([^.]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2&page=$3 [L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)#([a-zA-Z0-9_]+)&([^.]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2&cwin=#$3[L]
RewriteRule ^b/([a-zA-Z0-9_]+)/([0-9]+)@([0-9]+)#([a-zA-Z0-9_]+)&([^.]+)$ bbs/board/board.php?bo_table=$1&wr_id=$2&page=$3&cwin=#$4[L]
RewriteRule ^g/([a-zA-Z0-9_]+)$ bbs/group.php?gr_id=$1 [L]
#글쓰기
RewriteRule ^write/([a-zA-Z0-9_]+)/([0-9]+)@([0-9]+)W([a-z])$ bbs/board/write.php?bo_table=$1&wr_id=$2&page=$3&w=$4 [L]
RewriteRule ^write/([a-zA-Z0-9_]+)/([0-9]+)W([a-z])$ bbs/board/write.php?bo_table=$1&wr_id=$2&w=$3 [L]
RewriteRule ^write/([a-zA-Z0-9_]+)$ bbs/board/write.php?bo_table=$1 [L]
#메모
RewriteRule ^memo/form/([a-zA-Z0-9_]+)@([0-9]+)$ bbs/memo/memo_form.php?me_recv_mb_id=$1&me_id=$2 [L]
RewriteRule ^memo/form bbs/memo/memo_form.php [L]
RewriteRule ^memo/v/([a-z]+)@([0-9]+)$ bbs/memo/memo_view.php?kind=$1&me_id=$2 [L]
RewriteRule ^memo/d/([a-z]+)@([0-9]+)$ bbs/memo/memo_delete.php?kind=$1&me_id=$2 [L]
RewriteRule ^memo/([a-z]+)$ bbs/memo/memo.php?kind=$1 [L]
RewriteRule ^memo bbs/memo/memo.php [L]
#맴버
RewriteRule ^member$ bbs/member_confirm.php [L]
#가입
RewriteRule ^register$ bbs/register.php [L]
RewriteRule ^register/([a-zA-Z0-9_]+)$ bbs/register_$1.php [L]
#기타등등
RewriteRule ^new/([a-zA-Z0-9_]+)$ bbs/new.php?mb_id=$1 [L]
RewriteRule ^new$ bbs/new.php [L]
RewriteRule ^profile/([a-zA-Z0-9_]+)$ bbs/profile.php?mb_id$1 [L]
RewriteRule ^scrap$ bbs/scrap.php [L]
RewriteRule ^link/([a-zA-Z0-9_]+)/([0-9]+)N=([0-9]+)$ bbs/link.php?bo_table=$1 [L]
RewriteRule ^point@([a-zA-Z0-9_]+)$ bbs/point.php?page=$1 [L]
RewriteRule ^point$ bbs/point.php [L]
RewriteRule ^search/?([^.]+)$ bbs/search.php$1 [L]
RewriteRule ^connect$ /bbs/current_connect.php [L]
</IfModule>
이건 왜 작동하지 않을까요..?
.htaccess부분
RewriteRule ^b/([a-zA-Z0-9_]+)$ bbs/board/index.php?t=v&data=$1 [L]

.bbs/boaed/index.php부분
<?
include_once('./_common.php');
if($t = "v"){
$data_1 = explode('/',$data);
$bo_table = $data_1[0];
if(strpos($data_1[1],'@') != 'false'){
if(strpos($data_1[1],'#') != 'false'){
if(strpos($data_1[1],'@') < strpos($data_1[1],'@')){
$data_2 = explode('@',$data_1[1]);
$wr_id = $data_2[0];
$data_3 = explode('#',$data_2[1]);
$paga = $data_3[0];
$cwin = $data_3[1];
}else{
$data_2 = explode('#',$data_1[1]);
$wr_id = $data_2[0];
$data_3 = explode('@',$data_2[1]);
$cwin = $data_3[0];
$paga = $data_3[1];
}
}else{
$data_2 = explode('@',$data_1[1]);
$wr_id = $data_2[0];
$page = $data_2[1];
}
}elseif(strpos($data_1[1],'#') != 'false'){
$data_2 = explode('#',$data_1[1]);
$wr_id = $data_2[0];
$cwin = $data_2[1];
}elseif($data_1[1]){
$wr_id = $data_1[1];
}
include_once('./board.php');
}else{
$data_1 = explode('/',$data);
$bo_table = $data_1[0];
if($data_1[1]){
$data_2 = explode("@",$data_1[1]);
}
include_once('./write.php');
}
?>
 이것만되면 .htaccess를 최소한 10줄이상은 줄일수 있을텐데 말이죠....
개사판이 존재하지 않는다면서... 안되네요...
제가 사용하는 방식  (G5 에서)
http://www.freeimage.kr/bbs/?tip_php,859
http://www.freeimage.kr/b/?tip_php=859
http://www.freeimage.kr/b/bd=tip_php&wr_id=859
방식으로 사용합니다. 
/b/ 의경우는 /bbs/ 를 통체로 복사했습니다.

/bbs/index.php 에 아래와 같이 넣어주세요.

<?
if ($_GET[bo_table]) {
include "board.php";
}
else if ($_GET[bd]) {
$_GET[bo_table]=$_GET[bd];
include "board.php";
}
else if ($_GET[gid]) {
$_GET[gr_id]=$_GET[gid];
include "../arbuild/group.php";
}
else {
if ($_GET[page])
$_SERVER[QUERY_STRING]=str_replace("&page=$_GET[page]","",$_SERVER[QUERY_STRING]);
$_SERVER[QUERY_STRING]=str_replace("&page=0","",$_SERVER[QUERY_STRING]);

if (!$_GET[bo_table] && preg_match("/(.[a-zA-Z0-9_&]+)=([0-9&]+)/", urldecode($_SERVER[QUERY_STRING]), $arr)) {
$_REQUEST[bo_table]=$_GET[bo_table]=$arr[1];
$_REQUEST[wr_id]=$_GET[wr_id]=$arr[2];
}
else if (!$_GET[bo_table] && preg_match("/(.[a-zA-Z0-9_]+)&/", urldecode($_SERVER[QUERY_STRING]), $arr)) {
$_REQUEST[bo_table]=$_GET[bo_table]=$arr[1];
}
else if (!$_GET[bo_table] && preg_match("/^[a-zA-Z0-9_]+\$/", urldecode($_SERVER[QUERY_STRING]), $arr)) {
//var_dump($arr);
$_REQUEST[bo_table]=$_GET[bo_table]=$arr[0];
}
if (strstr($_REQUEST[bo_table],"&")) {
preg_match("/(.[a-zA-Z0-9_]+)&/",$_REQUEST[bo_table], $arr);
$_REQUEST[bo_table]=$_GET[bo_table]=$arr[1];
unset($_REQUEST[wr_id]);unset($_GET[wr_id]);
}
//exit;

if (!$_REQUEST[bo_table] && $_GET[bd])
$_REQUEST[bo_table]=$_GET[bo_table]=$_GET[bd];

else if(!$_REQUEST[bo_table]&& !$_REQUEST[wr_id] && !strstr(urldecode($_SERVER[QUERY_STRING]),'&')&&substr_count(urldecode($_SERVER[QUERY_STRING]),'=')==1) {
$arr=explode("=",urldecode($_SERVER[QUERY_STRING]));
if (count($arr)==2 && intval($arr[1])) {
$_GET[bo_table]=$arr[0];
$_GET[wr_id]=$arr[1];
}
}

if (!$bo_table && $_GET[id]) {
$arr=explode(",",$_GET[id]);
$bo_table=$arr[0];
$wr_id=$arr[1];
if (intval($arr[2])) $page=$arr[2];
}

include "board.php";
}
?>
전체 195,452 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT