2009-09-16 2 views
0

를 사용하여 내가 무엇을 다음과는 포함 ":"매개 변수의 문자는 아파치의 mod_rewrite를

 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?text=$1 [L,QSA] 

그래서 www.example.com/tralala의 I이있는 경우 도메인 후 매개 변수 '텍스트'에 전달할 같은 것을 사용 = 'TRALALA'

$ 텍스트를 얻을 그러나 나는 매개 변수에 문자를 가질 수가되고 싶어요 ":"여러 번 :

www.example.com/me:you:him

줄 수 있어요? 나 손? 내가

www.example.com/me:you:him
을 테스트하는 경우

나는 오류를 얻을 :

 
Forbidden 

You don't have permission to access /you:me:him on this server. 
+0

나를 위해 작동합니다. 어떻게 그 규칙을 테스트 했습니까? – Gumbo

+0

^(. *) $는 '나 : 당신 : 그 사람'과 일치하므로 질문을 이해할 수 없습니까? –

+0

mod_rewrite의 로깅 기능 (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteloglevel)을 사용해보십시오. – Gumbo

답변

0
RewriteRule ^([a-z]+[\:a-z]+)$ index.php?text=$1 [L,QSA] 

일부 tweeking가 필요할 수 있습니다. AFAIR 도트 메타 문자는 점 자체를 제외한 모든 문자와 일치하기 때문에 (. +)도 좋을 것입니다.

+1

도트 메타 문자는 점을 포함하여 모든 문자와 일치합니다. 그리고':'를 벗어날 필요가 없습니다. – Gumbo

관련 문제