You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Marcel Gmür <ap...@gmuer.li> on 2009/07/23 14:18:52 UTC

Rewrite für download script.

Hallo zusammen

Auf einem Download Host habe ich folgendes Rewrite rule um die
Downloads auf ein php Script umzuleiten.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !download.php
RewriteRule (.*) http://openttd.ammler.ch/download.php?file=$1 [L]

Das PHP Script sieht folgendermassen aus:
http://mz.openttdcoop.org/hg/misc/file/9164d3074260/downloadlog/download.php

Das klappt alles eigentlich wunderbar, zumindest was Downloads mit
Browsern anbelangt, jedoch ist ein wenig hässlich wenn ich ein File
mit wget hole, da wird dann die Datei mit download.php?file=datei
gespeichert. Kann ich in dieser Hinsicht noch was verbessern?

Gruss und Dank
Marcel

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Marcel Gmür <ap...@gmuer.li>.
Am 25. Juli 2009 17:27 schrieb Michael Grund <li...@googlemail.com>:
> Ich sag nur: --content-disposition
> Thats it =)

Hmm, genau.

Na ok, dann ist meine Rewrite Rule in Ordnung, vielen Dank Leute.

Gruess
Marcel

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Michael Grund <li...@googlemail.com>.
Mach mal ein alias ;) Bestimmt wird bei dir wget mit eine zusätzlichen
Option gestartet auf deinem RatHat System ;)

Ich sag nur: --content-disposition
Thats it =)

Gruß Michael

Marcel Gmür wrote:
> 2009/7/24 Frank Thommen <fr...@drosera.ch>:
>> wget 1.10.2 (Red Hat modified): -------------------------------
>> 14:20:07 (842 KB/s) - `OpenGFX-nightly-r72.tar' saved
>> [5181440/5181440]
>>
>> Empfehlung: Neueres wget benutzen :-)
>>
> Mein wget ist 1.11.4 und verhält sich nicht so. komisch.
>
> --------------------------------------------------------------------------
>  Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an
> users-de-unsubscribe@httpd.apache.org sonstige Anfragen an
> users-de-help@httpd.apache.org
> --------------------------------------------------------------------------
>
>



--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Marcel Gmür <ap...@gmuer.li>.
2009/7/24 Frank Thommen <fr...@drosera.ch>:
> wget 1.10.2 (Red Hat modified):
> -------------------------------
> 14:20:07 (842 KB/s) - `OpenGFX-nightly-r72.tar' saved [5181440/5181440]
>
> Empfehlung: Neueres wget benutzen :-)
>
Mein wget ist 1.11.4 und verhält sich nicht so. komisch.

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Frank Thommen <fr...@drosera.ch>.
> Ja sicher, z.B. hier:
> http://mz.openttdcoop.org/bundles/opengfx/nightlies/

wget 1.8.1:
-----------

$ wget 
http://mz.openttdcoop.org/bundles/opengfx/nightlies/OpenGFX-nightly-r72.tar
--14:19:41-- 
http://mz.openttdcoop.org/bundles/opengfx/nightlies/OpenGFX-nightly-r72.tar
            => `OpenGFX-nightly-r72.tar'
Resolving mz.openttdcoop.org... done.
Connecting to mz.openttdcoop.org[62.75.156.9]:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: 
http://openttd.ammler.ch/download.php?file=opengfx/nightlies/OpenGFX-nightly-r72.tar 
[following]
--14:19:41-- 
http://openttd.ammler.ch/download.php?file=opengfx/nightlies/OpenGFX-nightly-r72.tar
            => 
`download.php?file=opengfx%2Fnightlies%2FOpenGFX-nightly-r72.tar'
Resolving openttd.ammler.ch... done.
Connecting to openttd.ammler.ch[62.75.156.9]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5,181,440 [application/x-tar]

100%[====================================>] 5,181,440      1.83M/s 
ETA 00:00

14:19:44 (1.83 MB/s) - 
`download.php?file=opengfx%2Fnightlies%2FOpenGFX-nightly-r72.tar' saved 
[5181440/5181440]

$


wget 1.10.2 (Red Hat modified):
-------------------------------

% wget 
http://mz.openttdcoop.org/bundles/opengfx/nightlies/OpenGFX-nightly-r72.tar
--14:20:01-- 
http://mz.openttdcoop.org/bundles/opengfx/nightlies/OpenGFX-nightly-r72.tar
Resolving mz.openttdcoop.org... 62.75.156.9
Connecting to mz.openttdcoop.org|62.75.156.9|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: 
http://openttd.ammler.ch/download.php?file=opengfx/nightlies/OpenGFX-nightly-r72.tar 
[following]
--14:20:01-- 
http://openttd.ammler.ch/download.php?file=opengfx/nightlies/OpenGFX-nightly-r72.tar
Resolving openttd.ammler.ch... 62.75.156.9
Reusing existing connection to mz.openttdcoop.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 5181440 (4.9M) [application/x-tar]
Saving to: `OpenGFX-nightly-r72.tar'

100%[=======================================>] 5,181,440    842K/s   in 
6.0s

14:20:07 (842 KB/s) - `OpenGFX-nightly-r72.tar' saved [5181440/5181440]

%


Empfehlung: Neueres wget benutzen :-)

frank

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Marcel Gmür <ap...@gmuer.li>.
Am 24. Juli 2009 13:06 schrieb Frank Thommen <fr...@drosera.ch>:
> Ist das ein Link den Du publizieren darfst?  Ich koennte den Download per
> wget mit den Versionen "1.10.2 (Red Hat modified)" und "1.8.1" testen.

Ja sicher, z.B. hier:
http://mz.openttdcoop.org/bundles/opengfx/nightlies/

Danke zum voraus.

Gruess
Marcel

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Frank Thommen <fr...@drosera.ch>.
Marcel Gmür wrote:
> Am 24. Juli 2009 12:01 schrieb Max Dittrich <ma...@t-online.de>:
>> Ja, das Download-Skript sollte zusätzlich den Header
>> "Content-Dispostion" setzen.
> Auf Zeile 138 macht es das ja, es funktioniert ja auch mit den meisten
> bekannten Browsern, wahrscheinlich ist das wirklich nur ein wget
> Problem.
> header("Content-Disposition: attachment; filename=".$filename.";");

Ist das ein Link den Du publizieren darfst?  Ich koennte den Download 
per wget mit den Versionen "1.10.2 (Red Hat modified)" und "1.8.1" testen.

frank

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Marcel Gmür <ap...@gmuer.li>.
Am 24. Juli 2009 12:01 schrieb Max Dittrich <ma...@t-online.de>:
> Ja, das Download-Skript sollte zusätzlich den Header
> "Content-Dispostion" setzen.
Auf Zeile 138 macht es das ja, es funktioniert ja auch mit den meisten
bekannten Browsern, wahrscheinlich ist das wirklich nur ein wget
Problem.
header("Content-Disposition: attachment; filename=".$filename.";");

Gruss
Marcel

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Max Dittrich <ma...@t-online.de>.
Marcel Gmür wrote:
> Hallo zusammen
> 
> Auf einem Download Host habe ich folgendes Rewrite rule um die
> Downloads auf ein php Script umzuleiten.
> 
> RewriteEngine On
> RewriteCond %{REQUEST_FILENAME} -f
> RewriteCond %{REQUEST_FILENAME} !download.php
> RewriteRule (.*) http://openttd.ammler.ch/download.php?file=$1 [L]
> 
> Das PHP Script sieht folgendermassen aus:
> http://mz.openttdcoop.org/hg/misc/file/9164d3074260/downloadlog/download.php
> 
> Das klappt alles eigentlich wunderbar, zumindest was Downloads mit
> Browsern anbelangt, jedoch ist ein wenig hässlich wenn ich ein File
> mit wget hole, da wird dann die Datei mit download.php?file=datei
> gespeichert. Kann ich in dieser Hinsicht noch was verbessern?

Ja, das Download-Skript sollte zusätzlich den Header
"Content-Dispostion" setzen.
Am einfachsten folgst Du dem 1. Beispiel "Download dialog" unter
http://de3.php.net/manual/en/function.header.php

Grüsse,
.max


--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: Rewrite für download script.

Posted by Frank Thommen <fr...@drosera.ch>.
> [...]
> 
> Das klappt alles eigentlich wunderbar, zumindest was Downloads mit
> Browsern anbelangt, jedoch ist ein wenig hässlich wenn ich ein File
> mit wget hole, da wird dann die Datei mit download.php?file=datei
> gespeichert. Kann ich in dieser Hinsicht noch was verbessern?

Ich hole oft Files mit solchen URLs per wget und erhalte 
interessanterweise i.d.R. die Dokumente mit ihren korrekten Namen. 
Vielleicht ein spezifischer Header mit dem Filenamen oder eine Frage der 
Aktualitaet des verwendeten wget?

frank

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------