WEB

NGINX에서 그누보드 짧은 주소 성공기

우성군 9 9493 1

0. 들어가며

 

그누보드 홈페이지에서 짧은 주소에 관한 글을 읽다보니 전부 .htaccess 생성에 관한 글들 밖에 없더군요.

 

참고로 NGINX에서는 .htaccess룰을 쓰지 않기 때문에 .htaccess 파일 생성으로는 실패할 수 밖에 없습니다.

 

우선 apache에서의 짧은 글 주소에 대해 알아보죠.

 

 

1. 그누보드4 + 아파치 조합

 

그누보드 루트에 .htaccess 파일 생성 후

 

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)$ bbs_shorten.php?bo_table=$1&wr_id=$2
</IfModule>

 

위 내용을 넣고 저장합니다.

 

 

그리고 그누보드 루트에  bbs_shorten.php 파일 생성 후

 

<?php
include_once("_common.php");
goto_url("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$wr_id");
?>

 

 

또는

 

 

<?php
include_once("_common.php"); 
goto_url("$g4[url]/$g4[bbs]/board.php?bo_table=$bo_table&wr_id=$wr_id"); 
?>

 

 

또는

 

 

<?php
Header("Location: $g4[path]/bbs/board.php?bo_table=$bo_table&wr_id=$wr_id"); 
?> 

 

를 넣고 저장하면 됩니다.

 

 

2. 그누보드4 + Nginx 조합

 

글 초기에 알려드렸듯이, NGINX에서는 .htaccess 파일을 쓰지 않기 때문에 간단하게 

 

NGINX 설정 파일에 추가하면 됩니다.

 

우분투 기준으로 /etc/nginx/sites-available/default 에서

 

 

server{
.
.
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs_shorten.php?bo_table=$1&wr_id=$2;
.
.
}

 

 

위와 같이 서버 안에 rewrite 구문을 넣어주면 됩니다.

 

 

아파치와 마찬가지로 그누보드 루트에  bbs_shorten.php 파일 생성 후

 

 

<?php
include_once("_common.php");
goto_url("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$wr_id");
?>

 

 

또는

 

 

<?php
include_once("_common.php"); 
goto_url("$g4[url]/$g4[bbs]/board.php?bo_table=$bo_table&wr_id=$wr_id"); 
?>

 

 

또는

 

 

<?php
Header("Location: $g4[path]/bbs/board.php?bo_table=$bo_table&wr_id=$wr_id"); 
?> 

 

를 넣고 저장하면 됩니다.

 

 

3. 그누보드5 + apache2 조합

 

그누보드 루트에 .htaccess 파일 생성 후

 

 

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)$ bbs_shorten.php?bo_table=$1&wr_id=$2
</IfModule>

 

 

위 내용을 넣고 저장합니다.

 

 

그리고 그누보드 루트에  bbs_shorten.php 파일 생성 후

 

 

<?php
include_once("_common.php"); 
goto_url(G5_BBS_URL."/board.php?bo_table=$bo_table&wr_id=$wr_id");
?>

 

 

위 내용을 넣고 저장합니다.

 

 

4. 그누보드5 + Nginx 조합

 

NGINX 설정 파일에 추가하면 됩니다.

 

우분투 기준으로 /etc/nginx/sites-available/default 에서

 

 

server{
.
.
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /bbs_shorten.php?bo_table=$1&wr_id=$2;
.
.
}

 

 

위와 같이 서버 안에 rewrite 구문을 넣어주면 됩니다.

 

 

그리고 그누보드 루트에  bbs_shorten.php 파일 생성 후

 

 

<?php
include_once("_common.php"); 
goto_url(G5_BBS_URL."/board.php?bo_table=$bo_table&wr_id=$wr_id");
?>

 

위 내용을 넣고 저장합니다.

 

, , , , , , , , ,

9 Comments
희망규짱 2014.09.28 22:09  
엄.. 해보니 주소는 http://홈피주소/그룹이름/게시물주소 로 나오긴 한데 주소입력해보면 힌백지가 뜨네요,
3. 그누보드5 + apache2 조합 으로 했는데 제가 뭘 잘못 한건지..
희망규짱 2014.09.28 22:17  
읔.. 혹시나 해서 아래 주소를 압축풀어서 업로드 했더니
http://sir.co.kr/bbs/board.php?bo_table=g5_tip&wr_id=1489
이젠 아에 접속조차 안되네요. 험..
우성군 2014.09.28 22:25  
아파치는 기존 강좌대로 해서 자세한 사항은 잘 모르겠네요.

그리고 SIR의 그 게시물은 위 글과 전혀 다른 내용입니다.
희망규짱 2014.09.29 19:49  
아아아아아아아아아!!!!!!!!
우성군님!!
위 소스를 제가 커피 클립보드 저걸 눌러서 복사를 했는데
붙여넣고 대조도 안해보고 그냥 등록했는데 확인해보니
include_once("_common.php"); 요기 옆에 &nbsp;
요게 생겨 버리더라고요 그래서 아. 혹시 이것때문인가 하고 업로드 시켰더니 되네요 ㅎ
호.. 앞으론 맨앞에버튼을 눌러서 복사해야겠네요.
고맙습니다~
우성군 2014.09.29 20:14  
넵 ㅎㅎ 다행이네요
선구자 2016.12.02 17:19  
스크랩합니다.
우성군 2016.12.02 17:25  
[@선구자] 넵 ^^ 적용하기 쉬워요 ㅎ
선구자 09.07 13:18  
작년말에 본것 같은데 이제서야 성공했습니다.

사이트가 여러개라서
nginx default
server{ }에서 리와이트 한번에 하려다가
사이트중 워드프레스도 있고, 약간 두려움에 사이트 별로 적용해주니 잘 되네요
 
감사합니다.
우성군 09.11 22:50  
[@선구자] 다행이네요 ^^

성공했을 때 뿌듯하죠 ㅎㅎ