으아아 지금 그누보드 전면 짧은주소 만들기 프로젝트 진행중인데 그누보드가 그누보드가 아니게 되버렸어요...
구조들이 잖득 바뀌고 소스도 대폭 수정 지금 너무 일이 커져버렸어요 ㅠㅠ
괜히 손댓어...괜히 손댓어...
현 진행률 약 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 짧은주소 만들기 프로젝트를 테스트 해보고 있는 서버에요.
둘러보시고 오류라던지 있으면 알려주시면 감사하겠습니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 12개
업데이트 될 때마다 유지보수가 정말 힘들어서 혼자 할 수 있는 일은 아닌 것 같습니다.
몇몇 분이 다함께 작업하면 참 좋을 텐데요.
그런데 그누보드4로 작업하는게 아쉽네요^^
http://uani.kr.pe/new 에서 게시판을 클릭하면 에러가 나오네요.
http://uani.kr.pe/board.php?bo_table=test
이거 다하면 그누5 도 한번 해볼까요...?
근데.. 사실 지금 이 그누4도 위에 말했듯이 그누 4가 아니게 되버려서 완전 폴더들하고 다바껴버리는 현상이..ㄷㄷ
혼자 작업하고 있답니다..
.htaccess이 파일을 만들어서 하는데 속에 들어가는 게 많아져 버렷에요 ㅎㅎ... 사실 이걸 줄일수도 있는데 왠지 이걸 줄일수 있는 소스가 작동을 안해서요.. 왠지 자꾸만 존재하지 않는 게시판이라고하고 mySQL오류가...ㄷㄷ 밑엔껀 .htaccess소스에요
[code]
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>
[/code]
저도 나중에 참고해볼꼐요 ㅎㅎ 감사합니다 ^^
.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줄이상은 줄일수 있을텐데 말이죠....
개사판이 존재하지 않는다면서... 안되네요...
qa쪽에 올려보시는편이;; ㅎㅎ;;
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";
}
?>