Apache2 シンボリックリンク - ターゲット名と MIME タイプの使用方法

Apache2 シンボリックリンク - ターゲット名と MIME タイプの使用方法

Apache2サーバーをセットアップしたところ、問題なく動作しました。このサーバーの目的はバージョン管理されたファイルを提供することなので、次latestのターゲットをターゲットとするシンボリックリンクを作成しました。例えば myfile_v1.1.0.ext

問題は、URL にアクセスするとhttp://localhost/latest、ダウンロード ウィンドウlatestにファイル名とapplication/octet-streamMIME タイプが表示されることです。

同じ URL にアクセスすると、myfile_v1.1.0.extファイル名とapplication/my-appMIME タイプとして表示されるようにしたいと思います。

それを実現する方法はありますか?

よろしくお願いします

答え1

これを実現する 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解決策は、Web サイトの Apache 構成ファイルにディレクティブを追加するだけです。

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

関連情報