2013-03-14 2 views
1

나는 다음과 같은 작업 얻기 위해 노력하고 있어요 작동하지 : 사용자가 검색 상자를 사용하는 경우유행의 재 작성 REGEX 아파치

를 가져 오기는 GET 요청을 전송 www.example.com/search/?s=Query+String

에 사용자가 문제가되지 않습니다 전송 그러나 그것을 잡으면 RewriteRule입니다. 이 경우 REGEX가 적절한 지 잘 모르겠습니다. 일어날 필요가 무엇

RewriteRule ^search/\?s=(.*[^/])$ search.php?s=$1 [NC,L] 

/search/?s=Query+String 쿼리 문자열 부분은 해당 URL에서 가져온 요청에서

+0

'search.php'를'search/index.php'로 옮기지 않는 이유는 무엇입니까? –

답변

1

쿼리 문자열 변수 %{QUERY_STRING}에 저장되어있는 재 작성 규칙을 통해 search.php?s=Query+String까지 보낼 수 있다는 것입니다. 규칙은 %{REQUEST_URI}을 사용합니다.

RewriteRule ^search/?$ search.php [NC,L,QSA] 

here을 테스트 : 그냥 QSA 플래그를 사용합니다.

+0

물음표를 이스케이프 처리해야한다고 생각하지 않습니까? – ShuklaSannidhya

+0

아니요, 슬래시가 필요 없다는 것을 의미합니다. – vmeln

+0

덕분에 @Volodymyr 제안이 필요했습니다. –