Daniel's Knowledge Storage

board.php?idx=1234 를 board/1234로 만들기 - rewrite 본문

Develop

board.php?idx=1234 를 board/1234로 만들기 - rewrite

다니엘SEO 2009. 10. 2. 13:32

흔히 게시판을 만들게 되면 GET방식으로 글 번호나 게시판 아이디를 board.php나 view.php로 넘겨 주고 그 파일에는 받은 파일을 근거로 DB에서 자료를 로드한다.

이경우 아래와 같이 주소가 생기게 된다.

게시판 목록의 경우
- http://mysite.com/board/list.php?board_id=notice
게시판 내용보기의 경우
- http://mysite.com/bord/view.php?board_id=notice&document_id=1234

이 주소를 아파치서버의 Rewrite를 사용하여 간단하게 줄일 수 있다.

자신의 계정의 가장 상위에(index.html이 돌아가는...) 다음과 같은 파일을 생성한다.

.htaccess

내용은 다음과 같이 한다.

RewriteEngine On

# 글번호만 입력시 보기 페이지로
RewriteRule ^board/([[:digit:]]+)$ ./board/view.php?idx=$1 [QSA,NS,L]

# 게시판 아이디 입력시 리스트 페이지로
RewriteRule ^board/([a-zA-Z0-9_]+)/$ ./board/list.php?mid=$1 [QSA,NS,L]


^board/ 는 고정으로 지정할 경로이다.
([a-zA-Z0-9_]+) 는 소문자 a~z까지와 대문자 A~Z까지, 그리고 숫자 0~9까지가 입력 된다는 의미이다.

그리고 ./board/list.php~~~~ 같은 실제 연결할 경로와 변수명 ?mid= 을 지정하고 $1 을 지정한다. $1은 앞에 나온 ([a-zA-Z0-9_]+)에 들어가는 것이다.

([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+) 식으로 됐다면 $1,$2 식으로 늘어 나간다.
Comments