작은숲:위키노트/아파치 mod rewrite 모듈: 두 판 사이의 차이
잔글
문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로
잔글 (문자열 찾아 바꾸기 - "<source" 문자열을 "<syntaxhighlight" 문자열로) |
|||
| 2번째 줄: | 2번째 줄: | ||
== RewriteRule에서의 QUERY_STRING과 [[위키노트:PHP|PHP]] == | == RewriteRule에서의 QUERY_STRING과 [[위키노트:PHP|PHP]] == | ||
<code><nowiki>/redirect?http://m.naver.com</nowiki></code>으로 접근하면 뒤에 붙은 [[위키노트:URL|URL]]로 리다이렉트 시키는 기능을 만들고자 한다. 하지만 쿼리 문자열로 URL을 넘겨주면 <code>$_GET</code> 변수에 키로 URL이 저장되고 URL에 포함된 <code>.</code>은 <code>_</code>으로 변경된다. 즉, <code><nowiki>$_GET['http://m_naver_com']</nowiki></code>에 빈 문자열이 들어가서 넘어온다. 이를 해결하기 위한 방법. | <code><nowiki>/redirect?http://m.naver.com</nowiki></code>으로 접근하면 뒤에 붙은 [[위키노트:URL|URL]]로 리다이렉트 시키는 기능을 만들고자 한다. 하지만 쿼리 문자열로 URL을 넘겨주면 <code>$_GET</code> 변수에 키로 URL이 저장되고 URL에 포함된 <code>.</code>은 <code>_</code>으로 변경된다. 즉, <code><nowiki>$_GET['http://m_naver_com']</nowiki></code>에 빈 문자열이 들어가서 넘어온다. 이를 해결하기 위한 방법. | ||
< | <syntaxhighlight lang="apache"> | ||
RewriteRule ^redirect$ ./redirect.php?target=%{QUERY_STRING} [L] | RewriteRule ^redirect$ ./redirect.php?target=%{QUERY_STRING} [L] | ||
</source> | </source> | ||
| 8번째 줄: | 8번째 줄: | ||
== RewriteRule의 QSA 플래그 == | == RewriteRule의 QSA 플래그 == | ||
<tt>RewriteRule</tt>에 <tt>QSA</tt> 플래그를 주면 본래 넘어온 쿼리 문자열을 그대로 추가해서 넘겨주게 된다. | <tt>RewriteRule</tt>에 <tt>QSA</tt> 플래그를 주면 본래 넘어온 쿼리 문자열을 그대로 추가해서 넘겨주게 된다. | ||
< | <syntaxhighlight lang="apache"> | ||
# Keep original query (default behavior) | # Keep original query (default behavior) | ||
RewriteRule ^page\.php$ /target.php [L] | RewriteRule ^page\.php$ /target.php [L] | ||