2011-04-26 6 views
1

나는이 형식으로 URL이 내 응용 프로그램에 문자열의 유일한 중요한 부분은 내가 많이 사용 했어, 그래서 숫자를 직접 브로셔 후 때때로 많은 subcat 거짓 디렉토리가있을 수 있습니다 .htaccess에는이 작업을 수행하는보다 효율적인 방법이 있습니까?

site.com/brochure/12/subcat/subcat/maincat

이와 같은 규칙이 작동하도록

RewriteRule ^brochure/([^/]+)/([^/]+)/([^/]+)/?$ brochure.php?cat_path=$1 RewriteRule ^brochure/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ brochure.php?cat_path=$1 RewriteRule ^brochure/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ brochure.php?cat_path=$1

등 - 때로는 다른 디렉토리 구조를 허용하는 최대 다섯 가지 규칙이 있습니다.

나는 이것이 하나의 규칙으로 이루어질 수 있다고 생각하는데, 누구든지 자신의 아이디어를 공유 할 수있을 정도로 친절한가요?

감사

답변

3

초기 ([^/]+) 후 문자열의 어떤 부분에 대해 신경 쓰지 않기 때문에, 왜 단지 같은 것을 사용하지 : 조용히 다음

RewriteRule ^brochure/([^/]+).*$ brochure.php?cat_path=$1 
이 일치합니다

및 그룹화 12을, 문자열의 나머지 (.*$)와 일치하고 버립니다.

+0

그게 바로 제가 고마운 마음으로 찾은 것입니다 :) 또한 페이지를 건너 뛸 때 내 응용 프로그램이 눈에 띄게 빨라졌습니다. – shane

관련 문제