아파치2.x/PHP5.x 에서 파일다운로드 시 한글이름의 파일이 다운로드 안될 때는 아파치 웹서버의 httpd.conf 파일에 한글 URL의 인코딩이 가능하도록 하는 다음의 내용이 포함되어 있는지 확인한다.
LoadModule redurl_module modules/mod_url.so
CheckURL On
만약 위의 내용이 포함되어 있지 않다면 서버와 브라우저가 실행되는 PC의 캐릭터셋이 호환되지 않을경우 이름이 영문으로 되어 있지 않는 더블바이트(한글, 일본어 등등)로 이름이 되어 있는 파일은 파일을 찾을 수 없다는 메시지와 함께 다운로드가 되지 않는다.
해결방법은 다음과 같다.
1. 다음의 URL에서 mod_url.c 소스를 다운로드 받는다
나는 1.20을 다운로드 받았다. 사실 어디서든 소스만 구하면 된다.
2. 서버의 아파치 include 디렉토리에 업로드 한다.
나의 경우 /usr/local/apache2/include 였다.
3. 소스를 업로드한 디렉토리로 이동하여 다음의 명령으로 컴파일한다.
gcc -fpic -DSAHRED_MODULE -DEAPI -c mod_url.c
4. 오브젝트 파일을 Shared Object로 변환한다.
gcc -shared -o mod_url.so mod_url.o
5. 아파치의 modules 디렉토리로 복사한다.
나의 경우 /usr/local/apache2/modules 였다.
6. httpd.conf 파일의 적당한 위치에 다음의 라인을 추가한다.
LoadModule redurl_module modules/mod_url.so
<IfModule mod_url.c>
CheckURL On
</IfModule>
7. 아파치를 재기동한다.