Apache2-Symlink - So verwenden Sie Zielnamen und MIME-Typ

Apache2-Symlink - So verwenden Sie Zielnamen und MIME-Typ

Ich habe gerade einen Apache2-Server eingerichtet und er funktioniert einwandfrei. Da dieser Server nur dazu dient, versionierte Dateien bereitzustellen, habe ich einen latestSymlink erstellt, der aufz.B myfile_v1.1.0.ext.

Das Problem besteht darin, dass beim Zugriff auf die URL http://localhost/latestim Download-Fenster latestsowohl der Dateiname als application/octet-streamauch der MIME-Typ angezeigt werden.

Ich möchte, dass beim Zugriff auf diese URL diese myfile_v1.1.0.extals Dateiname und application/my-appals MIME-Typ angezeigt wird.

Gibt es eine Möglichkeit, das zu erreichen?

Vielen Dank im Voraus

Antwort1

Eine Möglichkeit hierfür wäre die Verwendung eines Alias ​​in der Apache-Konfiguration. Der Nachteil besteht darin, dass Sie diesen bei jeder Veröffentlichung aktualisieren müssen, der Vorteil besteht jedoch darin, dass Sie mehr Kontrolle über die Handhabung der Datei haben.

So können Sie es tun:

  1. Bearbeiten Sie die Apache- .confDatei für die Site
  2. Fügen Sie Folgendes im <VirtualHost>Abschnitt hinzu:
    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>
    
    Notiz:application/tar+gzipStellen Sie sicher, dass Sie den richtigen Inhaltstyp für die Datei verwenden .
  3. Speichern Sie die Datei und starten Sie Apache neu:
    sudo service apache2 restart
    
    Notiz:Wechseln Sie gerne restartmit reload.
  4. Testen Sie die URL unteryour.site/download

Dies wurde auf Ubuntu Server 20.04.3 LTS mit Apache 2.4.41 getestet

Antwort2

Die Lösung besteht einfach darin, eine RedirectDirektive in die Apache-Konfigurationsdatei für Ihre Website einzufügen.

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

verwandte Informationen