그누보드 짧은 주소 적용 안되는 경우 해결방법

By: master

그누보드 짧은 주소(SEO-friendly URL) 기능을 활성화하려고 할 때, 제대로 작동하지 않는 경우가 종종 발생합니다. 짧은 주소는 검색 엔진 최적화(SEO)에 유리하고 사용자에게도 가독성이 높은 URL을 제공하지만, Apache 설정, .htaccess 파일 구성, Rewrite 모듈 미활성화 등의 이유로 적용에 실패할 수 있습니다.

이 글에서는 그누보드 짧은 주소가 작동하지 않을 때의 원인과 해결 방법을 단계별로 정리해드립니다. Apache 웹 서버 환경을 기준으로 작성되었으며, 실제로 필요한 명령어 예시와 설정 파일 수정 방법도 포함되어 있어 초보자도 쉽게 따라 할 수 있습니다.


짧은 주소란 무엇인가요?

짧은 주소

짧은 주소(또는 SEO URL)는 페이지 주소를 간결하고 의미 있게 만들어주는 방식입니다. 예를 들어, 다음과 같은 URL을:

https://example.com/bbs/board.php?bo_table=news&wr_id=123

다음과 같이 바꿔주는 기능입니다:

https://example.com/news/123

짧은 주소는 다음과 같은 장점을 가집니다:

  • ✅ 검색엔진에 더 친숙하여 SEO 향상
  • ✅ 방문자에게 더 직관적이고 기억하기 쉬움
  • ✅ SNS 공유 시 URL이 깔끔하게 표시됨

하지만 이 기능을 사용하려면 웹 서버가 URL 재작성 기능을 지원해야 하며, 그누보드에서도 .htaccess 설정을 통해 이를 활성화해야 합니다.


1. Rewrite 모듈 활성화

Apache에서는 URL 재작성 기능을 사용하기 위해 mod_rewrite 모듈을 활성화해야 합니다.

sudo a2enmod rewrite    #rewrite 모듈 활성화

활성화 후 Apache를 재시작해야 합니다.

sudo systemctl restart apache2    #rewrite 모듈 활성화

2. Apache 설정 파일 수정

AllowOverride 옵션이 None으로 되어 있으면 .htaccess 파일의 설정이 무시되므로 반드시 All 또는 FileInfo로 변경해야 합니다.

sudo vi /etc/apache2/apache2.conf

다음 항목을 찾아 수정하세요:

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

.htaccess가 위치한 디렉터리를 기준으로 <Directory> 경로를 맞춰야 합니다.

추가로 아래 파일도 수정 가능합니다:

sudo vi /etc/apache2/sites-enabled/000-default.conf


3. .htaccess 파일 생성 및 설정 추가

.htaccess 파일이 없다면 다음 명령어로 새로 만들고, 그누보드에 최적화된 Rewrite 룰을 작성합니다:

sudo vi /var/www/html/.htaccess

✅ 그누보드 짧은 주소 설정용 .htaccess 예시

#### 그누보드5 rewrite BEGIN #####
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^shop/list-([0-9a-z]+)$  shop/list.php?ca_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/type-([0-9a-z]+)$  shop/listtype.php?type=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([0-9a-zA-Z_\-]+)$  shop/item.php?it_id=$1&rewrite=1  [QSA,L]
RewriteRule ^shop/([^/]+)/$  shop/item.php?it_seo_title=$1&rewrite=1  [QSA,L]
RewriteRule ^content/([0-9a-zA-Z_]+)$ bbs/content.php?co_id=$1&rewrite=1 [QSA,L]
RewriteRule ^content/([^/]+)/$ bbs/content.php?co_seo_title=$1&rewrite=1 [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$ bbs/rss.php?bo_table=$1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$ bbs/board.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$ bbs/write.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$ bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1 [QSA,L]
</IfModule>
#### 그누보드5 rewrite END #####

작성 후 저장하고 다시 Apache를 재시작합니다:

sudo systemctl restart apache2

4. 설정 적용이 안 될 때 점검 포인트

  • .htaccess 파일이 실제로 웹 루트에 있는지 확인
  • mod_rewrite가 활성화되어 있는지 다시 한 번 확인
  • Apache 재시작 여부 확인
  • 서버에 캐시된 설정이나 .htaccess 충돌 여부 확인
  • 웹호스팅의 mod_rewrite 지원 여부 (일부 저가형 호스팅은 제한될 수 있음)

5. 요약 및 마무리

짧은 주소(SEO URL)는 그누보드 사이트의 검색 노출력을 높이는 데 매우 중요한 요소입니다. URL이 깔끔하고 키워드가 포함된 구조는 검색 엔진이 페이지를 이해하기 쉽도록 도와주고, 사용자 경험(UX) 측면에서도 신뢰도를 높입니다.

위 단계대로 설정을 확인하고 수정하면 대부분의 경우 짧은 주소 문제가 해결됩니다. 혹시 설정 후에도 적용되지 않는다면 웹호스팅의 mod_rewrite 지원 여부 또는 추가 보안 정책이 적용된 서버 환경도 점검해보시는 것이 좋습니다.


✅ 이 글이 도움이 되셨다면 공유해 주세요! 궁금한 점은 댓글로 남겨주시면 빠르게 답변 드리겠습니다 🙂

관련 글

2 thoughts on “그누보드 짧은 주소 적용 안되는 경우 해결방법”

Leave a Comment