2013-04-14 1 views
0

재 작성 규칙이 개 GET 변수 .htaccess 2 다시 작성 GET 변수가 분할되지 않습니까?

http://stackoverflow.com/blogs/category/general/1 

RewriteRule ^blogs/category/(.+)/?$ blogs.php?category=$1 [PT,L,QSA] 
RewriteRule ^blogs/category/(.+)/([0-9]+)/?$ blogs.php?category=$1&page=$2 [PT,L,QSA] 

내가 헤더에서 이러한 잡아 그러나 그것은 다음과 같습니다

을 캡처를 쓰려고?

$_GET['category'] = "general/1"; 
$_GET['page'] = ""; 

두 가지 규칙이 있습니다. 하나는 카테고리를 제공 할 때 사용하는 규칙이고 다른 하나는 페이지 번호를 제공하는 규칙입니다. 그 접근법에 대해 틀렸을 수도 있습니다. 확실하지 않습니다.

내가 뭘 잘못하고 있니? 어떻게 제대로 (내가 PHP에 해킹 수 있습니다 알고 있지만 그 추한)

답변

1

내가 더 구체적인 하나가 먼저 처리 될 수 있도록 당신은 단지 그들을 전환해야 생각하는 재 작성 규칙을 사용하여 이러한 변수를 분리 할 수 ​​있습니다 :

RewriteRule ^blogs/category/(.+)/([0-9]+)/?$ blogs.php?category=$1&page=$2 [PT,L,QSA] 
RewriteRule ^blogs/category/(.+)/?$ blogs.php?category=$1 [PT,L,QSA] 

조금 더 설명하면 다음과 같습니다. 다르게 지정하지 않으면 모든 정규 표현식이 욕심입니다. 즉, 정규식은 가능한 한 많이 얻으려고합니다. (. +)는 "일반/1"과 일치합니다.

+0

멋진 작품입니다. 내가 참조! 욕심 많은 소년은 더 많은 변수를 먹어야합니다! 타이 –

관련 문제