2010-03-15 3 views
0

정규 표현식은 항상 내 애인이었습니다. 마침내 나는 그것을 얻었다고 생각할 때마다 나는 새로운 문제가있다!아파치 mod_rewrite 여러 매개 변수가있는 정규 표현식 문제

나는 다음과 같은 URL을 잡으려면 : 결국

http://www.mydomain.com/boutique/blabla-1/bla-bla2/99/104 
http://www.mydomain.com/boutique/blabla1/99 

과 :

http://www.mydomain.com/boutique/blabla-1/bla-bla2/product1/99/104/55/ 

을 나는듯한이 해낸 시도와 오류를 많이 후 http://www.gskinner.com/RegExr/ 아니라에서 작업을 아파치

^.*/boutique/([a-zA-Z-]*)(/?[a-zA-Z-]*)/?([0-9]*)/?([0-9]*)/?$ boutique.php?c1=$3&c2=$4 

(지금까지 처음 두 URL로만 작업했습니다)

MY 아파치 재 작성 로그 디버그 파일은 무력 : /Users/iko/Sites/mysite/boutique.php

통해

패스 난 단지 ID를 얻기에 interrested하고 있습니다. 어떤 도움이라도 환영 할 것입니다!

감사합니다.

+0

당신이 URL에 그에서 어떤 정보가 필요합니까 하이픈? – Gumbo

답변

0
RewriteRule ^boutique/(?:[a-zA-Z][\w-]*/){1,3}/(\d+)(?:/(\d+)(?:/(\d+))?)?/?$ boutique.php?c1=$1&c2=$2&c3=$3 
+0

고맙습니다. 나는 그것을 약간 조정해야했다. 수동 그룹이 작동하지 않는 것 같다. 그래서 내가 생각해 냈다. boutique.php/([a-zA-Z -] *) (/? [a-zA-Z- ] /?) {1,3} ([0-9] *) /? ([0-9] *) /? ([0-9] *) /? $ \t boutique.php? c1 = $ 3 & c2 = $ 4 & p = $ 5 [L] – user146498

0

나는 개인적으로 나는 그것을 명확하게 읽을 찾아 각 유형에 대한 규칙을 작성하는 등 여러 가지를 설명하기 위해

### Rewrite rule for /boutique/blabla-1/bla-bla2/99/104 
RewriteRule ^boutique/([a-z0-9-]+)/([a-z0-9-]+)/([0-9]+)/([0-9]+) boutique.php?c1=$3&c2=$4 

(htaccess로는 당신의 버그 베어 특히 경우) 비트 ([a-z0-9 -] +)은 기본적으로 모두 소문자, 숫자 및 하이픈입니다. 이와 비슷하게 ([0-9] +)는 단지 숫자이며,이 도움이

희망

+0

감사합니다. 내 경우에는 매개 변수의 수가 유동적이므로 (1과 3 사이) 나는 슬래시를 optionnal로 표시해야한다. – user146498

+0

멋지다 - 이제 모든 것이 작동 하는가? – Chris