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

一種方法是在 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. 通過訪問測試 urlyour.site/download

這已經在 Ubuntu Server 20.04.3 LTS 和 Apache 2.4.41 上進行了測試

答案2

解決方案是簡單地Redirect在您網站的 Apache 設定檔中新增一條指令。

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

相關內容