그누보드 짧은 검색(간편 검색) 구현
본문
예를 들어 그누보드가 적용된 dsclub.kr/search/?검색어 로 접속 시
웹 서버 디렉토리(루트 폴더 안)에 search폴더를 만들고, /search로 이동.
index.php파일 생성, 아래의 코드를 삽입(dsclub.kr을 원하는 도메인으로 변경)
<?php
$uri = $_SERVER['REQUEST_URI'];]
$parts = explode('/', $uri);
$search_index = array_search('search', $parts);
if ($search_index !== false && count($parts) > $search_index + 1) {
$search_value = $parts[$search_index + 1];
$redirect_url = "https://dsclub.kr/bbs/search.php?sfl=wr_subject%7C%7Cwr_content%7C%7Cmb_id%7C%7Cwr_name%7C%7Cwr_datetime%7C%7Cwr_link%7C%7Cwr_ip&sop=and&stx=" . $search_value;
header("Location: " . $redirect_url);
}
?>
그 후 dsclub.kr/search/?test 등으로 접속하면 test 검색 가능
이러한 방식을 이용하면 기존 검색 결과 링크에 비해 단축이 가능하고 깔끔함, 이용자의 접근성이 높아짐.
또한 웹서버 설정 파일을 수정하지 않아도 됨
*웹서버 파일 수정 버전(이 경우 /search 뒤 ?를 사용하지 않아도 됨):
apache .htaccess;
RewriteEngine On
RewriteRule ^search/(.*)$ /bbs/search.php?sfl=wr_subject%7C%7Cwr_content%7C%7Cmb_id%7C%7Cwr_name%7C%7Cwr_datetime%7C%7Cwr_link%7C%7Cwr_ip&sop=and&stx=$1 [L]
nginx;
location /search {
rewrite ^/search/(.*)$ /bbs/search.php?sfl=wr_subject%7C%7Cwr_content%7C%7Cmb_id%7C%7Cwr_name%7C%7Cwr_datetime%7C%7Cwr_link%7C%7Cwr_ip&sop=and&stx=$1 last;
}
2kat님의 댓글
2kat 아이피 (222.♡.250.95) 작성일감사합니다.