php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.09.2009, 11:27  
kip
Neuer Benutzer
 
Registriert seit: 29.03.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
kip befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] mod_rewrite, Datei Downloads und falsche Header

huhu,

ich habe ein merkwürdiges Problem und kann mir keinen richtigen Reim darauf machen.

Ich habe ein Wordpress Plugin was meine downloads schützt. Das eigentliche Upload-Verzeichnis von Wordpress ist über .htaccess geschützt und die Downloads werden über index.php?getfile=xxx geladen (im PHP Script dann mit readfile/fopen vom Dateisystem gelesen und ausgegeben).

Soweit funktioniert das ganze. Jetzt wollte ich das mithilfe von mod_rewrite umbauen, dass man "schöne" URLs hat. Dazu habe ich folgende Regel definiert:
Code:
RewriteRule files/([0-9]+)/ /~dennis/wordpress-ird-de/index.php?getfile=$1 [L]
Statt mit index.php?getfile=xxx kann ich jetzt über /files/xxx/NAME_DES_DOWNLOADS auf die Dateien zugreifen, SEO freundlich und auch schöner für den User.
Leider geht es nicht - das PHP Script erzeugt einen 404. Erst hatte ich meine rewrite_rule im Verdacht, aber die scheint zu funktionieren. Ich habe mir das PHP Script also angeschaut, es sendet folgende Header (Bsp: PDF-Datei):

Code:
header('Content-Type: application/pdf');
header('content-length: 1234567);
header('content-disposition: attachment; filename=xyz.pdf');
... und diese Header sind für den 404 verantwortlich. Wenn ich das Senden der Header auskommentiere, bekomme ich im Browser den Inhalt des PDF angezeigt (also in binärer Form, es öffnet sich KEIN Adobe Reader und auch kein download-Fenster).

Ich kann nur vermuten, dass es daran liegt das der Client (Browser) durch die URL schon weiß das es ein PDF ist und deshalb auf die Header falsch reagiert? Welche Header muss ich senden damit es funktioniert? Habe schon die üblichen ('application\ocstream') ausprobiert - kein Erfolg.

Jemand eine Idee?


Edit: Also am Browser liegt es nicht ... kann man ja sehr einfach testen indem man mal
/wordpress-ird-de/files/204/xyz
aufruft ... dann sollte das Script auch funktionieren, tut es aber nicht.
Interessant finde ich noch, dass der Apache im Logfile den 404 gibt. Als würde er die Datei nicht finden .... aber NUR wenn man die Header vom PHP Script senden lässt. Ich verstehs einfach nicht 0o

Geändert von kip (16.09.2009 um 12:38 Uhr).
kip ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.09.2009, 12:37  
kip
Neuer Benutzer
 
Registriert seit: 29.03.2009
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
kip befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es herausgefunden:

PHP-Code:
header('HTTP/1.1 200 OK'true200); 
beseitigt das Problem. Nur verstehen tue ich das nicht wirklich, wenn also jemand eine Erklärung hat würde ich mich freuen!
kip ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Upload script datei type falsch erkannt Marti95. PHP Tipps 2009 27 14.09.2009 15:32
php Variable in css datei Sascha321 PHP Tipps 2009 8 13.07.2009 02:29
[Erledigt] Falsche Daten im Header Sniper_Kotaro PHP Tipps 2009 12 13.03.2009 12:51
[Erledigt] Hochgeladene Datei wird doppelt abgelegt thecracked PHP Tipps 2008 3 01.07.2008 16:31
Download einer csv-Datei netty PHP-Fortgeschrittene 6 02.05.2008 15:53
header() ??? TeazY PHP Tipps 2008 9 11.01.2008 15:40
Problem: Cannot modify header information Alpha Centauri PHP Tipps 2005 11 25.04.2005 13:05
[Erledigt] mail versand mit anhang (-- fopen(), fread(), filesize() --) PHP Tipps 2005 5 29.01.2005 18:36
[Erledigt] Datei speichern - via header - O Byte PHP-Fortgeschrittene 1 15.01.2005 17:13
xfdf Datei mit PHP an eMail senden Problem: Leere Datei PHP Tipps 2004-2 1 07.12.2004 12:25
Dateien lesen und schreiben [mehr als: r,a,w]? PHP Tipps 2004 4 24.10.2004 18:53
Zeilenumbrüche & Neudatein mit PHP PHP Tipps 2004 5 21.10.2004 11:38
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
Warning: Cannot modify header... einbinden nicht möglich? PHP Tipps 2004 2 07.08.2004 15:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mod_rewrite header, mod_rewrite datei, mod_rewrite download, wordpress downloads schützen, mod_rewrite falsches verzeichnis, mod_rewrite *.pdf, php mod_rewrite header, mod_rewrite pdf download, php download script mod_rewrite, .htaccess header senden, http://www.php.de/server-hosting-und-workstations/59083-erledigt-mod_rewrite-datei-downloads-und-falsche-header.html, php falsche version im header, php falscher header, mod_rewrite header php, php pdf download header, mod rewrite download schutz, mod_rewrite download pdf, php pdf ausgabe mit mod_rewrite, mod_rewrite datei ausgeben, falsche header beim download php

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum