Ergebnis 1 bis 8 von 8

Thema: [gelöst] Pfadangabe zu Downloads / "?files=" verhindern / relative Downloadpfade

  1. #1
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard [gelöst] Pfadangabe zu Downloads / "?files=" verhindern / relative Downloadpfade

    Hallo zusammen,

    ich habe bei dem Inhaltelement "Downloads" das Problem, dass mir der Link zur Datei immer angezeigt wird als
    Code:
    domain.tld/seitenalias?file=files/dateiordner/dateiordner/datei.pdf
    Eigentlich fände ich es besser wenn der absolute Pfad direkt angegeben wird, also
    Code:
    domain.tld/files/dateiordner/dateiordner/datei.pdf
    Also ohne das ?file= und dem ganzen Seitenalias-Gedöhns

    Lässt sich das irgendwie einstellen?

    Grüße
    Geändert von ttcdummy (30.01.2018 um 06:46 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.165
    Partner-ID
    10107

    Standard

    Zitat Zitat von ttcdummy Beitrag anzeigen
    Hallo zusammen,

    ich habe bei dem Inhaltelement "Downloads" das Problem, dass mir der Link zur Datei immer angezeigt wird als
    Code:
    domain.tld/seitenalias?file=files/dateiordner/dateiordner/datei.pdf
    Das ist normal und auch notwendig, andernfalls könntest du mit dem Download(s) Inhaltselement keine Dateien aus geschützten Ordnern zur Verfügung stellen.


    Zitat Zitat von ttcdummy Beitrag anzeigen
    Eigentlich fände ich es besser wenn der absolute Pfad direkt angegeben wird, also
    Code:
    domain.tld/files/dateiordner/dateiordner/datei.pdf
    Also ohne das ?file= und dem ganzen Seitenalias-Gedöhns

    Lässt sich das irgendwie einstellen?
    Du könntest im Template ja den (relativen) Pfad zur Datei ausgeben lassen, statt dem erzeugten Link.

  3. #3
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    OK ich habe das versucht:

    PHP-Code:
    <?php $link =\FilesModel::findByUuid($file['uuid'])->path?>
    <a class="download_element" href="/<?php echo $link?>" title="<?php echo $file['title']; ?>"><?php echo $file['link']; ?></a>
    Das funktioniert bei einigen Dateien gut z. B. PDF-Dateien. Die öffnen sich wie gewollt.
    Allerdings werden z. B. .doc-Dateien so ergänzt, dass im Pfad domain.tld/de/DATEIPFAD steht. Ich habe es jetzt mehrfach geprüft. Der Dateipfad ist eigentlich richtig. Nur halt das /de/ nicht. Wo immer das ausgerechnet bei nicht-PDF-Dateien auch her kommt. Das System versucht also eine 404er Seite zu erzeugen bzw. erzeugt diese auch.

    Jemand eine Idee?
    Geändert von ttcdummy (28.01.2018 um 11:31 Uhr)

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.165
    Partner-ID
    10107

    Standard

    Die Pfade werden nicht ergänzt. Die Datei kann vom Apache nicht zur Verfügung gestellt werden, daher landet der Request im Frontend Controller von Contao. Dieser leitet dich auf deine Browser- oder Fallbacksprache weiter und dann zeigt Contao die 404 Seite an.

  5. #5
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Das verstehe ich nicht.
    Was heißt die werden nicht ergänzt?

    Wie bekomme ich denn die Dateien mit dem relativen Pfad ausgeliefert?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.165
    Partner-ID
    10107

    Standard

    Zitat Zitat von ttcdummy Beitrag anzeigen
    Wie bekomme ich denn die Dateien mit dem relativen Pfad ausgeliefert?
    Das machst du ja bereits. Das Problem ist, dass der Apache diese Dateien nicht verfügbar machen kann. Entweder sind diese Dateien gar nicht vorhanden - oder du hast den Ordner nicht freigegeben.
    Geändert von Spooky (28.01.2018 um 19:36 Uhr)

  7. #7
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Hallo hier die Lösung des Problems:

    der Server wird über die Standard .htaccess-Datei von Contao angewiesen nur bestimmte Dateitypen auszuliefern:
    Code:
    RewriteCond %{REQUEST_FILENAME} !\.(html?|php|js|css|map|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|zip|gz)$
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]
    Dieses muss dann um die Dateitypen welche ebenfalls bereit gestellt werden sollen, erweitert werden.

    Grüße

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.165
    Partner-ID
    10107

    Standard

    Dir fehlt dort die !-f Anweisung.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •