RedirectMatch ^/([^./]+)$ /check.php?id=$1
이 설정의도는
/abc ---> /check.php?id=abc (redirect 의도)
/ccc ---> /check.php?id=ccc (redirect 의도)
/abc/ ---> /abc/
/abc.php ---> /abc.php
이와 같은 결과가 되도록 설정했지만 애석하게도 제대로 Redirect
되지 않습니다.
이유는 아파치의 Redirect 는 ? 문자가 인코딩(%3f)되어 넘어가기
때문에 PHP 파일에서는 요청쿼리로 해석하지 않고 완전한 하나의
파일로 인식하기 때문입니다.
실제로 첫번째 redirect 결과는
/abc ---> /check.php%3fid=abc (redirect 의도 실패)
이렇게 넘어가서 404 에러를 내게 됩니다.
해결방법은 ?(쿼리)를 사용하지 않고 PATH_INFO 환경변수가 생기도록
다음과 같은 방법을 사용하는것이 좋습니다.
권장설정)
RedirectMatch ^/([^./]+)$ /check.php/id=$1
or
RedirectMatch ^/([^./]+)$ /check.php/$1
or
RedirectMatch ^/([^./]+)$ /check/id=$1
or
RedirectMatch ^/([^./]+)$ /check/$1
sample>
RedirectMatch /v/(.*)\.swf$ http://www.maxpd.com/player/player.swf?videoId=$1