재 작성된 URL에 GET 매개 변수를 전달하는 방법은 무엇입니까?


13

다음 .htaccess과 같은 다시 쓰기 규칙이 있습니다.

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1

http://example.com/search/test실제로 처리되는 URI를 방문 하는 사람 은 http://www.example.com/search.php?q=test입니다.

재 작성된 URL에 추가 임의 GET 매개 변수를 전달하려고하면 매개 변수가 무시됩니다. 그래서 여기를 방문하려고하면 :

http://www.example.com/search/whatever?extra=true

이 매개 변수 extra는 무시됩니다. 전혀 전달되지 않는 것 같습니다.

이 문제를 해결할 수 있습니까? 그렇다면 어떻게?

답변:


14

당신은 Query String Append 플래그를 찾고 있습니다 -예.

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1 [QSA]

RewriteRule 플래그에 대한 자세한 설명은 mod_rewrite설명서 를 참조하십시오 .


아 좋아! 나는 그런 것이 있다는 것을 알았습니다. 나는 .htaccess멍청한 놈입니다.
Jake Wilson

모든 규칙에 QSA를 추가하는 방법이 있습니까
hakkikonu

안녕하세요 @ danlefree 오래된 질문이라는 것을 알고 있지만 Wamp를 사용하면이 작업을 수행 할 때 모든 스타일 시트, 스크립트 등이 참조를 잃습니다. 어떻게 해결할 수 있습니까?
DannyGM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.