2012-04-01 3 views
0

이 다시 쓰기 규칙은 domain.com/news에서 잘 작동하지만 domain.com/news/2012/party/zeke와 같은 변수로 여러 수준을 구문 분석 할 수 있기를 원합니다."디렉토리"에서 mod_rewrite의 x 개 변수 수 얻기

정규식을 실험했지만 나쁘게 실패했습니다. 여기

RewriteEngine on 
RewriteBase/
RewriteRule ^([^/\.]+)/?$ page.php?page=$1 [L] 

또한 시도 솔루션 : mod_rewrite with multiple variables

using mod_rewrite to simulate multiple sub-directories

// 편집 : 그것은 그냥 레벨 당 하나의 규칙을 추가 할 수 있습니다 같다하지만이 모든 단계를 수행 하나의 규칙을 가지고 possibel입니까?

RewriteRule ^([^/\.]+)/?$ /page.php?page=$1 [L] 

RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /page.php?page=$1&sub=$2 [L] 

답변

1

다시 작성할 수 있지만 모든 재 작성 부분은 데이터입니다. 그렇다면 변수의 이름을 지정하는 방법을 모르기 때문에 어떻게 쿼리 문자열로 변환 할 수 있습니까? 당신이 /section/news/year/2012/user/zeke/이 있다면

다음 (을 테스트하지) 사용할 수 있습니다 : -

RewriteRule ^section/\w+/([^/]+)/([^/]+)/(.*)$  news/$3?$1=$2 [NC,N,QSA] 
RewriteRule ^section/(\w+)/?$      page.php?page=$1 [NC,QSA,L] 

이것은 page.php 페이지 '로 재 작성 결국해야 = 뉴스 & 년 = 2012 & 사용자가 =

을 지크

당신이하려는 일로 인해 요구 사항을 변경하고 위의 버전을 사용하거나 PHP의 모든 페이지를 PHP로 전달하고 PHP로 작업해야합니다.

+0

고맙습니다! 내 CMS를 업그레이드하는 중이며 큰 도움이 될 것입니다. – jerrygarciuh