그누보드5 짧은주소 적용하기 v0.1.10 (16.04.17 수정)
** 소개 **
기존에는 URL을 가진 변수 혹은 함수의 파라미터를 일일이 수정해야하는 번거로움이 있지만
해당 라이브러리 shorturl() 함수를 이용하면 bbs, shop으로 시작하는 주소들은 일괄 적용됩니다.
SIR 회원분들이 사용하시면서 건의사항이나 에러 등 알려주셔서 초창기에 비해 많이 발전했습니다.
제가 생각하지 못한 부분들을 여러분들이 알려주셔서 감사합니다. ^^
** 수정내역 **
v0.1.10
# 사용자정의 게시판명을 변경할 수 있습니다.
# 수정한 파일은 shorturl.lib.php, .htaccess
** 적용방법 **
# 아래와 같이 수정하고 첨부파일(shorturl.lib.php, .htaccess) 업로드하면 됩니다.
# v0.1.8 이후 common.lib.php 파일을 포함하지 않습니다.
# 회원분들마다 사용하는 그누보드 버전이 다르기 때문에 직접 수정하여 사용하세요.
# config.php
[code]
// 짧은주소 사용여부를 설정합니다.
define('G5_SHORTURL_USE', true);
// 짧은주소 게시판명을 변경합니다. (값이 없다면 'board'로 정의됩니다.)
define('G5_SHORTURL_BOARD', 'archive');
[/code]
# .htaccess
[code]
# 게시판 (사용자정의 게시판명)
RewriteRule ^(archive|post|사용자정의)...
[/code]
define('G5_SHORTURL_BOARD', 'test'); 로 정의했다면
RewriteRule ^(archive|post|사용자정의)... 이 부분을 아래와 같이 변경하시면 됩니다.
RewriteRule ^(archive|post|test)... 또는 RewriteRule ^(test)...
사용자정의 글자를 지우고 원하는 문자를 넣거나 괄호안 글자를 지우고 넣으셔도 됩니다.
# lib/common.lib.php
[code]
// goto_url() 96 라인 변경
// $url = str_replace("&", "&", $url);
$url = shorturl(str_replace("&", "&", $url));
// alert() 158 라인에 1줄 추가
if (!$msg) $msg = '올바른 방법으로 이용해 주십시오.';
if ($url) $url = shorturl($url);
// confirm() 192 라인에 3줄 추가
if (!$msg) {
$msg = '올바른 방법으로 이용해 주십시오.';
alert($msg);
}
$url1 = shorturl($url1);
$url2 = shorturl($url2);
$url3 = shorturl($url3);
// html_process class 2474 라인 변경
// return $buffer;
return shorturl($buffer, true);
// 짧은주소 라이브러리 (하단에 추가)
include_once(G5_LIB_PATH.'/shorturl.lib.php');
[/code]
## 무단전재 및 재배포 금지
## 이 코드를 사용하여 발생하는 모든 책임은 사용자에게 있습니다.
기존에는 URL을 가진 변수 혹은 함수의 파라미터를 일일이 수정해야하는 번거로움이 있지만
해당 라이브러리 shorturl() 함수를 이용하면 bbs, shop으로 시작하는 주소들은 일괄 적용됩니다.
SIR 회원분들이 사용하시면서 건의사항이나 에러 등 알려주셔서 초창기에 비해 많이 발전했습니다.
제가 생각하지 못한 부분들을 여러분들이 알려주셔서 감사합니다. ^^
** 수정내역 **
v0.1.10
# 사용자정의 게시판명을 변경할 수 있습니다.
# 수정한 파일은 shorturl.lib.php, .htaccess
** 적용방법 **
# 아래와 같이 수정하고 첨부파일(shorturl.lib.php, .htaccess) 업로드하면 됩니다.
# v0.1.8 이후 common.lib.php 파일을 포함하지 않습니다.
# 회원분들마다 사용하는 그누보드 버전이 다르기 때문에 직접 수정하여 사용하세요.
# config.php
[code]
// 짧은주소 사용여부를 설정합니다.
define('G5_SHORTURL_USE', true);
// 짧은주소 게시판명을 변경합니다. (값이 없다면 'board'로 정의됩니다.)
define('G5_SHORTURL_BOARD', 'archive');
[/code]
# .htaccess
[code]
# 게시판 (사용자정의 게시판명)
RewriteRule ^(archive|post|사용자정의)...
[/code]
define('G5_SHORTURL_BOARD', 'test'); 로 정의했다면
RewriteRule ^(archive|post|사용자정의)... 이 부분을 아래와 같이 변경하시면 됩니다.
RewriteRule ^(archive|post|test)... 또는 RewriteRule ^(test)...
사용자정의 글자를 지우고 원하는 문자를 넣거나 괄호안 글자를 지우고 넣으셔도 됩니다.
# lib/common.lib.php
[code]
// goto_url() 96 라인 변경
// $url = str_replace("&", "&", $url);
$url = shorturl(str_replace("&", "&", $url));
// alert() 158 라인에 1줄 추가
if (!$msg) $msg = '올바른 방법으로 이용해 주십시오.';
if ($url) $url = shorturl($url);
// confirm() 192 라인에 3줄 추가
if (!$msg) {
$msg = '올바른 방법으로 이용해 주십시오.';
alert($msg);
}
$url1 = shorturl($url1);
$url2 = shorturl($url2);
$url3 = shorturl($url3);
// html_process class 2474 라인 변경
// return $buffer;
return shorturl($buffer, true);
// 짧은주소 라이브러리 (하단에 추가)
include_once(G5_LIB_PATH.'/shorturl.lib.php');
[/code]
## 무단전재 및 재배포 금지
## 이 코드를 사용하여 발생하는 모든 책임은 사용자에게 있습니다.
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 153개
추천!!
에러 나오네요~
apmsetup 에선 지원안하나보네요
조건처리해서 이전버전도 사용할 수 있게 처리할께요 ^^
그런데...글을 선택복사 및 선택이동 시 '찾을 수 없습니다.'라고 에러 납니다.
그리고 게시물이 올라오면 관리자 권한으로도 삭제가 되지 않습니다....ㅜㅜ
뭔가 꼬이는 것 같습니다.
일단 경로문제이니 리스트 스킨에 자바스크립트를 수정하시면 됩니다.
f.action = g5_bbs_url + "/board_list_update.php";
f.action = g5_bbs_url + "/move.php";
그리고 게시물이 올라오면 관리자 권한으로도 삭제가 되지 않습니다....ㅜㅜ
# config.php
[code]
// 짧은주소 사용여부를 설정합니다.
define('G5_SHORTURL_USE', false);
[/code]
관리자 > 게시판관리 > 내용관리가 나타나지 않습니다.
(짧은주소 사용여부를 false로 변경해도 그렇습니다. 원래대로 돌려 놓으면 그대로 내용은 있습니다.)
내용관리는 관리자 페이지로 적용이 안되는 부분인데 다시 확인해보세요. ^^;
그런데 관리자 > 게시판관리 > 내용관리에 들어가보면 상단 왼쪽에는 '전체 내용 몇 건' 이렇게 있고 하단에는 '자료가 한건도 없습니다.'라고 나옵니다.
이 상태에서는 내용관리를 수정할 수가 없게됩니다.
common.lib.php를 원래 것으로 돌려놓으면 내용관리의 내용물 제목들이 쫙~ 뜹니다.
저는 내용관리를 사용하지는 않지만...common.lib.php에서 뭔가 엉기는 것 같습니다.
감사합니다. 추천하였습니다.
여러번 확인해봐도 이상없이 잘 작동합니다만 제 생각은 common.lib.php 수정을 잘못하신거 같아요.
2474 → 2374이네요~ ㅎ
고생하셔서 만들었는데 제가 너무 리플을 단 것 같습니다. 죄송~
해결이 되니 기분이 좋습니다. 다시한번 감사드립니다~^^)
한가지 건의할 부분은 경로부분을 config.php 에서 G5_ADMIN_DIR 와 같이 설정하고 있는데, shorturl.lib.php 에도 이 상수값으로 반영해주시면 어떨까 합니다.
rewrite ^/shop/list/([0-9]+)$ /shop/list.php?ca_id=$1 break;
rewrite ^/shop/list/([0-9]+)/p([0-9]+)$ /shop/list.php?ca_id=$1&page=$2 break;
rewrite ^/shop/orderinquiryview/([0-9]+)/([a-zA-Z0-9]+)$ /shop/orderinquiryview.php?od_id=$1&uid=$2 break;
rewrite ^/shop/([a-zA-Z0-9_]+)$ /shop/$1.php break;
rewrite ^/shop/([a-zA-Z0-9_]+)/([0-9]+)$ /shop/$1.php?it_id=$2 break;
rewrite ^/profile/([a-zA-Z0-9_]+)$ /bbs/profile.php?mb_id=$1 break;
rewrite ^/content/([a-zA-Z0-9_]+)$ /bbs/content.php?co_id=$1 break;
rewrite ^/board.php$ /board redirect;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ /bbs/$1.php?bo_table=$2 break;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs/$1.php?bo_table=$2&wr_id=$3 break;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/p([0-9]+)$ /bbs/$1.php?bo_table=$2&page=$3 break;
rewrite ^/([a-zA-Z0-9_]+)$ /bbs/$1.php break;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs/$1.php?wr_id=$2 break;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)?url=([.]+)$ /bbs/$1.php?wr_id=$2&url=$3 break;
솔직히 웬만한 cms라든지 보드에서 기본적으로 지원 하는 내용을 아직도 지원이 안된다는게 좀 이해가 안가기는 합니다.
감사히 추천후 사용해 보겠습니다.
기존에 .htaccess 파일이 존재하는데, 본 팁의 .htaccess파일 내용과 합치면 되나요?
알림이 안갈것같아서 걱정이되네요..ㅠㅠㅠ
제가 너무 초보자라 그런데, 위의 zip파일은 압축해제했더니
config.php 파일이랑, hyaccess파일, lib폴더(common.lib, shorturl.lib)가 나오는데요
이걸 정확히 어디다가 덮어씌우라는건지 경로를 모르겠습니다 ㅠㅠ
ex)루트/bbs인지, 루트/lib, 인지... 테마사용중이면 테마쪽에다 해야하는건지..ㅠㅠ
초보적인 질문 죄송합니다!! ㅠㅠㅠ
제 루트에는 config.php파일이 없어서 그냥 넣었었구요...
ha파일은 있어서 덮었는데
apms 141번라인에 오류가 떠서 다시 복구시켰네요 ㅠㅠ
작은별님 말로는 아미나빌더를 사용중이라 덮으면 안되고
소스를 추가해보라고 하시더라구요..ㅠㅠ
근데 뭐 어떻게 추가시켜야하는건지..아시나요?..
답변주실떄가지 여러모로 시도해봐야죵...
Fatal error: Call to undefined function chk_xp_num() in /home/hosting_users/today357/www/lib/apms.lib.php on line 141
홈페이지는 이제 열리는데
글을 누르면 페이지를 찾을수없다는...ㄷㄷㄷ
아미나 라이브러리를 못불러와서 오류가 난걸로 보이네요.
빌더 루트에는 config가 없는걸로 조회되지만 붙여넣기 하셔도 무방할거 같구요.
혹시나 충돌이 있다면 define('G5_SHORTURL_USE', true); 외 나머지는 지우시면 됩니다.
그리고 본문에 나와있듯이 lib/common.lib.php 열어서 해당 라인 찾아서 수정하시면 되구요.
단 라인수는 틀릴 수도 있으니 특정 단어 검색해서 수정하세요.
/www <--여기에 config가 있어서 수정을 하였으나
config.php 이부분 숏링크 실행하는? .. 나머지는 다 수정해도 오류가 없는데, 그거만 적용하면
그때부터 게시글을 찾지못하네요... 숏링크는 적용이 되는데
글을 누르면 페이지를 찾을수없다네요..ㅠㅠㅠ
config.php랑 아미나빌더랑 맞지 않는걸까요?
hta파일을 /www <--- 이쪽으로 옮기니까 잘되네요;;
혹시나해서 옮겨본건데..ㄷㄷㄷㄷㄷ
왜 루트가 여기로 되어있지 이건;;
감사합니다!!!
게시판관리 선택 수정시 오류 있습니다.
어라...계정이 2개인데...
하나는 멀쩡하고...하나만 그렇네요 ;;;
잠시만요 더 확인을 해보겠습니다.
두가지 건의드릴점은
1. 리스트 화면에서 선택이동, 선택복사는 잘 되는데 선택삭제가 잘 되지 않습니다
2. 링크같은것에 list.php가 들어가면 전부 치환이 되어버립니다
(예를 들면 http://produce101event.com/list.php?idx=22 -> http://홈피주소/list?idx=22 이런식으로 변환됩니다)
베이스 URL이 현재 주소(G5_URL)일때만 변환이 되도록 short_url함수의 개선이 필요하다고 넌지시 제안해봅니다
1. 확인해보니 선택삭제는 이상 없이 잘 작동하고 있습니다.
(지속적으로 문제 발생 시 직접 테스트를 해봐야 될 거 같은데 쪽지로 연락 주세요 ^^)
2. list가 아닌 board인 거 같네요. 선택이동, 선택복사를 하고 나면 자바스크립트로 이동을 하게 되는데 이때 상대 경로로 이동하게 되어 짧은 주소 적용 시 문제가 생기게 됩니다. 그래서 board.php로 접근시 리다이렉트를 하게 됩니다.
(위와 같은 내용은 짧은 주소를 사용하였을 경우 전혀 문제가 되지 않는다고 생각합니다.
사용을 원치 않을 경우 config에서 false 처리하시면 됩니다.)
G5_URL이 아닌 G5_BBS_URL 혹은 G5_SHOP_URL 일 경우 변환되는 게 가장 좋지만 절대 경로가 아닌 상대 경로로 되어있는 경우가 대다수이기 때문에 사실상 걸러내기가 불가능합니다.
(혹시나 이런 문제에도 개선이 가능하다면 쪽지로 연락 주세요 ^^)
음 예를 들면 글을 쓸때 링크로 http://produce101event.com/list.php?idx=22 를 링크를 걸면 http://홈페이지주소/list?idx=22 로 변환되어 나온다는 말입니다~
http://demo.ignaz.net/board/free/8
요기에 작성을 해보았습니다 같은 현상을 보이네요~
상대주소의 경우는 base url이 없을테니 당연히 변환되도록 하고
base url 이 다른 url의 경우는 변환하지 않도록~하는 방법은 없을까요
parse_url 함수를 이용해서 위와 같은 경우에서는 string을 그대로 return하도록 시도해보고 있는데 잘 되지 않네요ㅠ
제가 작성해봤지만 실패한 코드입니다
if (parse_url($string)[host] && (parse_url($string)[host] != parse_url(G5_URL)[host]))
return $string;
몇번 시도를 해보았지만 제가 하니 적용이 안되네요ㅠ제가 요 코드에 대해 파악이 잘 안되는 듯 합니다...
수고스러우시겠지만 도움을 요청합니다! 죄송합니다
정말 대단하시네요! 완벽하게 적용됩니다
감사합니다
개인적으로는 그누나, 영카트에 기본적으로 이 기능이 있었으면 합니다. (시대가 시대인 만큼)
그누나 영카트를 기본적으로 건드리지 않고 추가할수 있는 방법이 없을까요?
※ lib/common.lib.php 이 파일을 건드리지 않고 말이죠~
추후 다음 버전을 기대하며.. 지금은 이렇게 사용해야 될 거 같아요 ㅎㅎ
검색 부분도 적용하면 좋지 않을까요~..
같은 주소라도 긴주소와 짧은글 주소의 차이가 많더랍니다... (인식)
그렇지 않아도 검색을 할 경우 url이 너무 길었는데
이 기능으로 해결이 되면 최고일 것 같군요. ^^
바로 적용 들어 갑니다.
수고 하셨습니다.
저만 그런 것인지 짧은 주소로 하니 댓글을 삭제를 할 수가 없어
define('G5_SHORTURL_USE', false);로 하니까 삭제가 됩니다.
크롬에서는 이렇게 나타납니다.
'Not Found
The requested URL /password/게시판 was not found on this server.'
익스플로러에서는 이렇게 나타납니다.
'웹 페이지를 찾을 수 없습니다.'
잊지않고 살펴보고 조치하여 주시니 너무나 감사합니다.
오늘도 좋은 하루 되시고 항상 건강하십시오~^^)
SIR 회원분들이 사용하시면서 건의사항이나 에러 등 알려주시면 감사하죠 ^^
제가 만들고 있는 사이트는 닉네임 클릭 [ 홈페이지 ] 만들고있는 테마는 닉네임 클릭 [ 프로필 ] 에 있는 링크주소 ㅎㅎㅎ
홈페이지 들어가보니 잘만드셨네요 ^^
거기에다가 혼자 개발하는거라... 한계가 엄청나서... ;;
http://sjsch.com/
제가 보기에는 해당 파라미터에 wr_id값이 없어서 경고창이 뜨는게 아닐까요..?
/link.php?bo_table=aaa&no=1 이렇게 url 이 바뀌고 한번 경유하게됩니다.
common.lib.php 파일 432번째줄 쯤에 이렇게 선언되있구요.
$list['link_href'][$i] = G5_BBS_URL.'/link.php?bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&no='.$i.$qstr;
이부분이 게시판링크로 혼동해서 /link?bo_table=aaa&no=1 이렇게 잘못된 url 로 변경됩니다.
http://demo.ignaz.net/board/free/5 해당 페이지에 링크 걸어두었으니 확인바랍니다.
bbs말고..
메인에 link.php 파일이 있으면 그것으로 타겟이 잡히네요.
shorturl.lib.php 파일이 이전 파일가 동일하던데요?
0.7 하고 파일이 동일하던데요.
생각하는 부분이 서로 다른거 같아서 그런가봐요..
다시 한번 자세히 설명해 주실래요? ^^;;
메인에 link.php 파일을 생성하고 게시글 링크에 http://sir.kr 입력
http://demo.ignaz.net/link?bo_table=free&wr_id=5&no=1
클릭했을경우 메인에 link.php로 이동하지않고 해당 url로 이동을 합니다.
예를 들면
http://블라블라.com/ 가 도메인이라고 하고
ftp상에서 루트폴더에 test 라는 임의의 폴더가 있다고 하면
기존에는 http://블라블라.com/test/ 라고 입력해도 접속이 되었는데
지금은 http://블라블라.com/test/ 라고 입력하면 접속이 안되고
http://블라블라.com/test/index.php 까지 입력해야 접속이 됩니다^^
굉장하십니다!
----
# 쇼핑몰
rewrite ^/shop/item/([0-9]+)$ /shop/item.php?it_id=$1 break;
rewrite ^/shop/list/([0-9]+)$ /shop/list.php?ca_id=$1 break;
rewrite ^/shop/list/([0-9]+)/p([0-9]+)$ /shop/list.php?ca_id=$1&page=$2 break;
rewrite ^/shop/orderinquiryview/([0-9]+)/([a-zA-Z0-9]+)$ /shop/orderinquiryview.php?od_id=$1&uid=$2 break;
rewrite ^/shop/([a-zA-Z0-9_]+)$ /shop/$1.php break;
rewrite ^/shop/([a-zA-Z0-9_]+)/([0-9]+)$ /shop/$1.php?it_id=$2 break;
# 게시판 선택복사, 선택이동 (popup)
if ($query_string ~* "^&?bo_table=([^&]+)"){
rewrite ^/board.php$ /board/%1? redirect;
}
# 게시판 비밀번호 체크
if ($query_string ~* "w=x"){
rewrite ^/password/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs/password.php?bo_table=$1&comment_id=$2 break;
}
rewrite ^/password/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs/password.php?bo_table=$1&wr_id=$2 break;
# 게시판 목록, 쓰기, 보기
rewrite ^/(write|board)/([a-zA-Z0-9_]+)$ /bbs/$1.php?bo_table=$2 break;
rewrite ^/(write|board)/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs/$1.php?bo_table=$2&wr_id=$3 break;
rewrite ^/board/([a-zA-Z0-9_]+)/p([0-9]+)$ /bbs/board.php?bo_table=$1&page=$2 break;
# 프로필, 컨텐츠
rewrite ^/profile/([a-zA-Z0-9_]+)$ /bbs/profile.php?mb_id=$1 break;
rewrite ^/content/([a-zA-Z0-9_]+)$ /bbs/content.php?co_id=$1 break;
# 그 외 파일들 일괄 적용
location ~ /(adm|shop) {
}
if (!-e $request_filename){
rewrite ^/([a-zA-Z0-9_\.]+)/?$ /bbs/$1.php break;
rewrite ^/([a-zA-Z0-9_\.]+)/([a-zA-Z0-9_]+)$ /bbs/$1.php?bo_table=$2 break;
}
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs/$1.php?wr_id=$2 break;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)?url=([.]+)$ /bbs/$1.php?wr_id=$2&url=$3 break;
이왕 줄이는 김에... board는 못줄이나요? 아예 삭제할수 있으면 더 좋구요
헤드파일안에 위 처럼 주소 넣고싶은데 소스를 어떻게 넣어줘야 줄여진 현재사이트 주소로 나오게 할 수 있나요?
원래 사용하듯이 작성하시면 됩니다. html_process가 호출되면 짧은주소로 치환되요.
그런데 짧은주소를 적용하니 커뮤니티의 검색링크가 /shop/search 로 바뀌어 버리네요
혹시몰라 짧은글 사용을 해제하니 /bbs/search.php 로 정상작동합니다.
어떤문제인지요
어떤 문제인지 파악했구요. 다음 버전에 반영할께요.
좋은 기능때문에 유용하게 잘 사용하고 있습니다.
이 자릴 빌어 감사드립니다.
그런데 카테고리 사용상에서 오류가 발생하는것 같은데 확인 한번 부탁드립니다.
-----------------------
1. 게시판 목록에서 특정 카테고리 선택하고
예) http://abc.com/board/free?sca=대한민국
2. 글 수정시 오류가 생기네요.
예) http://abc.com/write/free/3?w=u&sca=대한민국
----------------------
제 쪽에서의 문제인지는 모르겠으나, 번거롭더라도 확인 부탁드려봅니다.
해당 부분은 이상없이 잘 작동하고 있습니다.
http://demo.ignaz.net/board/free/10?w=u&sca=b
해당 글 비밀번호는 1234이니 확인 바랍니다.
해당 코드를 다시 내려받아 업로드 후 사용하시고
만약 지속적인 문제가 발생한다면 댓글 남겨주세요.
바쁜가운데 답변 주셔서 감사합니다.
댓글 내용보고 확인을 했었는데 정상적으로 처리됩니다.
질문에 놓친 부분이 있었는데
분류를 영문으로 지정하면 오류없이 정상처리되는데
분류를 한글로 지정하면 오류가 발생하는듯합니다.
번거롭더라도 이 부분 다시 한번 확인 부탁드립니다.
그럼 맛점되시고 힘찬 오후시간 되시길 바랍니다.
감사합니다.
현재 데모 페이지에 수정한 파일로 적용하였으니 확인해보시기 바랍니다.
수정된 파일은 좀 더 확인해보고 곧 배포하겠습니다.
3시간만 지나면 퇴근시간이네요. 마무리 잘하시고 좋은 하루 보내세요 ^^
다시한번 좋은 기능에 감사드립니다.
불량감자님하고 똑같은 문제가 있었는데 한글 때문이라고는 생각도 못했었네요.. 그래도 패치 때문에 잘 해결되었습니다.
그다음 궁금한 점이 있는데요~
현재 짧은 글은 "도메인/board/게시판명.글번호" 이런 형식으로 되어 있는데요..
요걸 board 대신 "b" 나 "다른문자"로 바꾸는 것도 가능할까요?
단순하게 htacess만 바꿔도 되는건지 라이브러리 함수를 바꿔야 하는건지 힌트좀 얻을 수 있을까요?
아님 이렇게 바꾸는 것 자체가 불가능할까요?
궁금한 맘에 질문이 두서가 없습니다~ 이해 부탁드립니다.
다음 업데이트 버전에서 사용자가 직접 정의하여 사용할 수 있도록 해드릴께요 ^^
예상했던 것처럼 라이브러리 함수까지 모두 바꿔야하는군요.
게시판의 리스트 페이지를 원페이지 형식으로 제작하다 보면 주소창에 board대신 다른 문자열이 보이는게 더 자연스러울 것 같아 고민했었는데 쉽지는 않네요.
다음 업데이트를 손꼽아 기다리고 있겠습니다.
좋은 기능에 거듭 감사드립니다~
저 또한 board 대신 archive나 post라는 문자로 사용 중입니다.
사실 2줄만 추가하면 되는 부분이지만 직접 라이브러리를 수정하기보단
제가 기능을 제공해드리는게 맞는 거 같아서요. 조만간 배포해드릴게요 ^^
그럼 염치불구하고 배포본을 손꼽아 기다리고 있겠습니다~
그런데 몇 번을 다시 해보고 또 캐시파일 등을 지워도 '웹 페이지를 찾을 수 없습니다.'라고 나오네요~
.htaccess에서 archive를 넣고자 하는 게시판명으로 수정(archive→hellow)하거나 게시판명(hellow)을 추가하면 되는군요~^^)
이렇게 말 입니다.
# 게시판 (사용자정의 게시판명)
RewriteRule ^(hellow|archive|post)/([a-zA-Z0-9_]+)$ bbs/board.php?bo_table=$2 [L,QSA]
RewriteRule ^(hellow|archive|post)/([a-zA-Z0-9_]+)/([0-9]+)$ bbs/board.php?bo_table=$2&wr_id=$3 [L,QSA]
RewriteRule ^(hellow|archive|post)/([a-zA-Z0-9_]+)/p([0-9]+)$ bbs/board.php?bo_table=$2&page=$3 [L,QSA]
감사합니다. 잘 사용하겠습니다.
복 많이 받으실 겁니다.
# 게시판 (사용자정의 게시판명)
RewriteRule ^(archive|post|사용자정의)...
요 부분이 잘 이해가 안되던데요.
위에 허당영님 설명에서도 전 적용이 안되네요 ㅎㅎ
(archive|post|사용자정의) 부분에 board 대신 원하는 문자열을 넣으라는 이야기인가요?
아님 현재 사용하는 게시판명을 넣을라는 이야기인가요?
두가지 방법을 모두 적용하고 캐시를 비웠는데도 안되네요..
이해력이 딸려서 죄송합니다 ^^
.htaccess 파일 수정
RewriteRule ^(archive|post|사용자정의)... 이 부분을 아래와 같이 변경하시면 됩니다.
RewriteRule ^(archive|post|test)... 또는 RewriteRule ^(test)...
사용자정의 글자를 지우고 원하는 문자를 넣거나 괄호안 글자를 지우고 넣으셔도 됩니다.
제 불찰입니다.
이렇게 쉬운 사용법을 사용법을 이미 알고있다고 띄엄띄엄 읽었더니 이런 초보적인 실수를 했네요..
힘들게 만드시는데 기초적인 것으로 괴롭혀서 죄송합니다. ㅎㅎ
지금 너무 잘 작동하고 있습니다.
훌륭한 기능 거듭 감사드립니다~
새롭게 글을 작성하여 올려주시면 더 많은분들이 알수 있지 않을까요~
그러면 더 좋은 아이디어나 기능이 생기지 않을까 생각 해봅니다.
감사~
한가지 질문이 있습니다.
archive나 board 로 표기된 부분까지 지우는 방법은 없을까요?
그러니까..
xxx.com/게시판명/글번호
이렇게요!
지금은 이렇게 나오는데...
xxx.com/아카이브(보드)/게시판명/글번호
문의하신 부분을 지우고 싶다면 오로지 board만 짧은주소를 적용해야하며,
그누보드가 설치된 최상위 폴더에 게시판명과 동일한 폴더를 만들면 안됩니다.
해당 부분은 좀 더 생각을 해봐야할 부분인거 같습니다.
댓글을 보신 회원분들도 좋은 아이디어가 있다면 말씀해주세요 ^^
해당 버전은 지원하지 않으므로 아래 주소로 이동해주세요.
http://sir.kr/g5_tip/4022
http://demo.ignaz.net/qa 요 게시판의 경우 끝에 슬래쉬를 붙여주면 오류가 뜹니다.
http://demo.ignaz.net/qa/ < 즉 이런식으로 붙여줄 경우,
가끔 웹브라우저에서 주소끝에 슬래쉬를 붙여서 저장할때가 있더군요~
그리고 유튜브링크를 걸면 본문에서 자동 실행이 안되는것 같습니다. 아 유튜브오류 요건 아미나 빌더 기준입니다. 기본 그누보드에서는 확인 못했습니다~
오류라기 보다는 해당 디렉토리에 index 파일이 없어서 생기는 문제입니다.
유튜브의 자동 실행 여부는 짧은주소와는 관계가 없어 보입니다. ^^;
bbs/board.setup.php?bo_table=noti < 이것입니다. 설정기능만 짧은주소 제외시킬수 있을까요 ? write나 move 제외되는것 처럼요. 궁금합니다!
이미지에 보이는 빨간색 톱니바퀴 설정부분입니다.
[http://sir.kr/data/editor/1607/656154758c54cdd932f0045df17cfdf5_1468337879_0927.jpg]
현재 진행중인 프로젝트들이 많아 라이브러리에 신경을 못쓰고 있습니다.
# shorturl.lib.php 287 라인 get_file_list 함수 수정
# 리턴하기 전에 unset 코드를 넣어 제외하면 될거 같네요.
[code]
... 생략
// 임시 코드이므로 추후 업데이트 하시기 바랍니다.
unset($file[array_search('board.setup', $file)]);
return $file;
}
[/code]
바쁘셔서 질문 드리기가 너무 죄송한데 . 정말 딱! 한가지만 여쭤보고 싶습니다 진짜 이후로 눈팅만 하겠습니다. 믿어주십쇼
제 홈페이지 게시글에는 추천 기능이 있습니다.
이런식으로 wr_id 뒤에 샵이 붙는 형식인데요
bbs/board.php?bo_table=noti&wr_id=171#
마지막에 샵 붙는애를
제외시키는 방법 있다면 알고 싶습니다. 복잡한 일이면 그냥 패스해주세요 Orz
[http://sir.kr/data/editor/1607/37842c15f43831373597e11e6beeff61_1468377378_5769.jpg]
추천을 보시면 <a href="#" onclick="apms_good(....
간단하게 해결하자면 href="#" 을 지우시면 됩니다.
다만 마우스를 올렸을때 커서가 손모양으로 안바뀌니
스타일 시트를 통해서 커서를 변경하면 되겠네요.
SEO 도 만족하고있고요 ㅎㅎㅎ 정말 절을 하고싶네요~~~
다름이 아니고 염치 없지만 모든 게시물 url 주소에 .html 을 붙이고 싶은데 가능하나요?
예) bbs/{bo_table}/5529 => bbs/{bo_table}/5529.html 로 변경 하고싶은데요 가능한가요?
이부분 도와주시면 정말 감사하겠습니다. 도와주세요~
아 그리고 ㅠㅠ 혹시 bbs/ 저부분 없에고 url에 {bo_table}/5529 요렇게만 짧은 주소로 나타낼수 있을가요?
실행 못하는 문제가 발생할 수 있으므로 바람직하지 않아 보입니다.
그리고 bbs를 제외한 /게시판명/글번호는 이미 존재하는 기능이므로 설정하시면 됩니다.
해당 게시글의 라이브러리는 구 버전이므로 아래 주소로 이동하여 확인 바랍니다.
http://sir.kr/g5_tip/4022
혹시 현재 코멘트 쓰기 라던지 ./으로 html에 시작하는경우 작동이 오류가 나는듯한데 해결 방법이 있나요?|
원인은 파일명에 확장자를 제외하고 (.)점이 포함된 경우
짧게 처리한다해도 (.)점 뒤에 있는 문자를 확장자로 인식함
빌더 기준이 아니라서 의도치 않게 생기는 문제들은 인지하고 있으나
현재 진행중인 프로젝트들이 많아 라이브러리에 신경을 못쓰고 있습니다.
추후 시간이 된다면 빌더들을 분석하고 업데이트 하도록 하겠습니다. ^^
nginx ,how to set nginx shorturl