Hiho!
Ich antworte mir mal selber! Ich habe mich wirklich für die .htaccess-mod_rewrite-Lösung entschieden. Vorteil: Ich bin relativ Updatesicher!
Zu sehen ist das ganze da: http://www.rodgauer-workshop.de/de/home/downloads.html - der mittlere Link "2008 - Korona" ist ein externer Link zum externen Download!
Wie mach ich das?
Ich habe in der Dateiverwaltung ein Verzeichnis "extern" angelegt. In dieses lege ich für jeden Link eine Textdatei, die nur den eigentlichen externen Link beinhaltet. Also sowas:
Code:
http://www.rodgauer-workshop.de/de/home/downloads.html
Jetzt muss das ganze nur noch abgefangen werden, damit nicht die Datei herunter geladen wird, sonder auf den Link umgeleitet wird.
Dazu hab ich zwei Zeilen in meine .htaccess eingefügt:
Code:
RewriteCond %{QUERY_STRING} file=tl_files/extern/(.*)
RewriteRule .*$ extern_download.php?file=%1 [L]
Damit werden die typischen Downloadlinks des Downloadarchiv abgefangen (aber nur wenn sie auf Dateien im Verzeichnis "extern" zugreifen) und auf ein Script umgeleitet, das die Datei als Parameter erhält!
Hier dann das Script:
PHP-Code:
<?php
// Settings
$filepath = '/pfad/zum/verzeichnis/tl_files/extern/';
$file = urldecode($HTTP_GET_VARS['file']);
$url = '';
// Doing some things for security
$search = array('/\.{2,}}/', '/\//', '/~/');
$replace = array('DOTS', 'SLASH', 'TILDE');
$file = preg_replace($search, $replace, $file);
$fullpath = $filepath.$file;
$lines = file($fullpath, FILE_SKIP_EMPTY_LINES);
foreach ($lines as $num => $url);
// Forward do extern link
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: $url" );
Ich lege da nicht die Hand für die Sicherheit ins Feuer! Ich hoffe zwar die einfachsten Dinge berücksichtigt zu haben, so dass kein Ausbruch aus dem Verzeichnis "extern" möglich ist, aber ob das reicht? Es wird auch keine Gruppenberechtigung oder ähnliches berücksichtigt.
Was jetzt noch zu tun ist: Ich hab mich entschieden, dass die Dateien, die die URL beinhalten, alle die Endung ".lnk" erhalten. Mit dieser Endung muss ich noch ein nettes Icon verknüpfen!
Vielleicht kann es ja noch jemand gebrauchen!
Tschüss
Marcus (aka Tiggr)
Lesezeichen