짧은주소를 위한 rewrite 룰 작성하는데 정규식을 잘 몰라서 도움 요청 합니다.

짧은주소를 위한 rewrite 룰 작성하는데 정규식을 잘 몰라서 도움 요청 합니다.

QA

짧은주소를 위한 rewrite 룰 작성하는데 정규식을 잘 몰라서 도움 요청 합니다.

본문

rewrite ^/([0-9a-zA-Z_]+)/([0-9]+)$ /bbs/video.php?bo_table=$1&wr_id=$2&idx=$3&rewrite=1 break;

 

위의 내용을 참고하여 

bbs/video.php?bo_table=movie&wr_id=11&idx=1898

bbs/movie/11/1898 
이렇게 주소가 변경되도록 할려면 어떻게 수정해야 할까요??


 

이 질문에 댓글 쓰기 :

답변 3

htaccess 내용일거라 생각했는데 아니였군요 ^^;;
쓰신 것을 기준으로 생각했을 때

rewrite ^/bbs/([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)$ /bbs/video.php?bo_table=$1&wr_id=$2&idx=$3&rewrite=1 break; //// 추가한 내용
위와 같이 맨 앞에  ^/bbs 를 추가로 넣어 보세요  정규식대로라면 홈페이지주소/bbs/movie( 첫번째 묶음 $1 )/11( 두번째 묶음 $2 )/1898 ( 세번째 묶음 $3 ) 위의 형식이 되어야 할거 같은데..

nginx 쪽이라 딱히 테스트할 환경이 안되다 보니 더는 도움이 못될거 같습니다 ^^;;

직접 테스트한게 아니라 될련지 모르겠습니다

RewriteRule ^bbs/video.php?bo_table=movie&wr_id=([0-9]+)&idx=([0-9]+) bbs/movie/$1/$2 [L] 

wr_id와 idx에 숫자만 들어간다는 가정에 소괄호로 묶인 곳들이 $1  $2로 대응되어서 열립니다

RewriteRule 한칸 띄우고 bbs/movie/$1/$2 앞뒤로 한칸씩 띄어 써야 합니다

이런 급하게 하느라 잘못 썼네요 미안합니다

원래  앞에다 바뀌어질 링크를  그다음에 원본 주소를  적는 형태로 써야 되는데 뒤바꿔 썼네요

 

 

RewriteRule ^bbs/movie/([0-9]+)/([0-9]+) bbs/video.php?bo_table=movie&wr_id=$1&idx=$2 [L] 

 

위와 같이 해보세요 안되면 글 남기세요 

 

bbs/movie/어떠한 숫자1/어떠한 숫자2  bbs/video.php?bo_table=movie&wr_id=어떠한 숫자1&idx=어떠한 숫자2 

위와 같은 형태로 링크가 연결되게 됩니다

죄송합니다.
설명이 충분하지 못했던것 같습니다.


	#### ±×´©º¸µå5 nginx rules BEGIN #####
	if (!-e $request_filename){
	rewrite ^/shop/list-([0-9a-z]+)$ /shop/list.php?ca_id=$1&rewrite=1 break;
	rewrite ^/shop/type-([0-9a-z]+)$ /shop/listtype.php?type=$1&rewrite=1 break;
	rewrite ^/shop/([0-9a-zA-Z_\-]+)$ /shop/item.php?it_id=$1&rewrite=1 break;
	rewrite ^/shop/([^/]+)/$ /shop/item.php?it_seo_title=$1&rewrite=1 break;
	rewrite ^/content/([0-9a-zA-Z_]+)$ /bbs/content.php?co_id=$1&rewrite=1 break;
	rewrite ^/content/([^/]+)/$ /bbs/content.php?co_seo_title=$1&rewrite=1 break;
	rewrite ^/rss/([0-9a-zA-Z_]+)$ /bbs/rss.php?bo_table=$1 break;
	rewrite ^/([0-9a-zA-Z_]+)$ /bbs/board.php?bo_table=$1&rewrite=1 break;
	rewrite ^/([0-9a-zA-Z_]+)/write$ /bbs/write.php?bo_table=$1&rewrite=1 break;
	rewrite ^/([0-9a-zA-Z_]+)/([^/]+)/$ /bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1 break;
	rewrite ^/([0-9a-zA-Z_]+)/([0-9]+)$ /bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1 break;
	rewrite ^/([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)$ /bbs/video.php?bo_table=$1&wr_id=$2&idx=$3&rewrite=1 break; //// 추가한 내용
	}
	#### ±×´©º¸µå5 nginx rules END #####


etc/nginx/conf.d/tv.conf
여기 파일에서 rewrite 설정해 줘야 하는 부분입니다.

rewrite ^/([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)/([0-9a-zA-Z_]+)$ /bbs/video.php?bo_table=$1&wr_id=$2&idx=$3&rewrite=1 break; //// 추가한 내용
이 부분이 먹히지 않습니다.
/bo_table/wr_id/wr_id /// 이렇게 나오게하고 싶은데 나오지 않고 있습니다.

아래와 상황이 같습니다.

https://sir.kr/qa/341280

답변을 작성하시기 전에 로그인 해주세요.
전체 220
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT