2009-08-26 6 views
1

나는 내가 이렇게하지만이 작동하지 않습니다 어떤 이유로 시도 /page.php?page=testhtaccess로 쿼리 문자열은

에 다시 할 /?test 같은 URL이 다시 작성합니다.

RewriteRule ^\?([a-z0-9\-\+]{3,20})/?$ /page.php?page=$1 [NC,QSA] 

내가 뭘 잘못하고 있니?

답변

5

쿼리 문자열은 RewriteCond directive으로 만 테스트 할 수 있습니다. RewriteRule 패턴은 URL path (.htaccess 파일의 경우 디렉토리 별 접두사가없는 URL 경로)에 대해서만 테스트됩니다.

그래서이 시도 :

RewriteCond %{QUERY_STRING} ^[a-z0-9-+]{3,20}$ [NC] 
RewriteRule ^$ /page.php?page=%0 [QSA] 
+0

아 내가 참조하십시오. 거의 효과가 있었지만 페이지 문자열을 가져 오려고 할 때 쿼리 문자열 페이지가 비어 있습니다. – Martin

+0

@Martin : 고쳐졌습니다. – Gumbo

+0

아, 고마워요! – Martin