Apache2 심볼릭 링크 - 대상 이름 및 MIME 유형을 사용하는 방법

Apache2 심볼릭 링크 - 대상 이름 및 MIME 유형을 사용하는 방법

방금 Apache2 서버를 설정했는데 제대로 작동합니다. 이 서버의 목적은 단순히 버전이 지정된 파일을 제공하는 것이므로 latest다음을 대상으로 하는 심볼릭 링크를 만들었습니다.예를 들어 myfile_v1.1.0.ext.

문제는 URL에 액세스하면 http://localhost/latest다운로드 창이 latest파일 이름과 application/octet-streamMIME 유형으로 표시된다는 것입니다.

myfile_v1.1.0.ext이 동일한 URL에 액세스할 때 파일 이름과 application/my-appMIME 유형 으로 표시되기를 바랍니다 .

그것을 달성할 수 있는 방법이 있나요?

미리 감사드립니다.

답변1

이를 수행하는 한 가지 방법은 Apache 구성에서 별칭을 사용하는 것입니다. 단점은 릴리스가 있을 때마다 이를 업데이트해야 한다는 것입니다. 그러나 장점은 파일 처리 방법을 더 강력하게 제어할 수 있다는 것입니다.

방법은 다음과 같습니다.

  1. .conf사이트의 Apache 파일 편집
  2. 섹션 에 다음을 추가하세요 <VirtualHost>.
    Alias "/download" "/path/to/releases/myfile_v1.1.0.ext"
    <Directory "/path/to/releases">
            Options FollowSymLinks
            AllowOverride All
    
            <FilesMatch "\.(ext|zip)$">
                    Header set Cache-Control "max-age=1209600, public"
                    ForceType application/tar+gzip
            </FilesMatch>
    </Directory>
    
    메모:application/tar+gzip파일에 적합한 콘텐츠 유형으로 바꾸십시오 .
  3. 파일을 저장하고 Apache를 다시 시작합니다.
    sudo service apache2 restart
    
    메모:restart로 자유롭게 전환하세요 reload.
  4. 방문하여 URL을 테스트하십시오.your.site/download

이는 Apache 2.4.41이 설치된 Ubuntu Server 20.04.3 LTS에서 테스트되었습니다.

답변2

해결책은 Redirect웹 사이트의 Apache 구성 파일에 지시문을 추가하는 것입니다.

Redirect "/latest" "files/myfile_v1.1.0.ext"

관련 정보