[PHP] Content-Type header geeft 404?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb een script dat uit bestaande gegevens een vCard moet genereren. Gaat allemaal goed, totdat ik de juiste content-type toevoeg:
PHP:
1
header('Content-Type: text/x-vcard');

En dat uiteraard ergens op een logische plek. Helemaal bovenin zelfs, dat maakt niet uit, gaat ook fout.

Het probleem is dat die header() ervoor zorgt dat er een 404 van gemaakt wordt. Say what? Ja, dan opeens bestaat de pagina niet meer :?

Als ik er text/plain van maak, krijg ik gewoon de inhoud te zien met een HTTP 200 :? :?

Ik heb ook a het content-type in de htaccess toegevoegd. Helpt ook niet.
Wat is dit voor flauwekul? Hoe kan een Content-Type header nou de HTTP statuscode beinvloeden?

Het is al laat,dus misschien zie ik iets over het hoofd, maar dit is toch wel heeeel raar, iyam.

日本!🎌


Acties:
  • 0 Henk 'm!

  • Icekiller2k6
  • Registratie: Februari 2005
  • Laatst online: 22:37
misschien een rare opmerking maar staat php shorttags aan?
zoja probeer dan eens <? ipv <?php.

PHP:
1
2
3
<?
  header('Content-Type: text/x-vcard; charset=utf-8');
?>

zie ik als voorbeeld code

MT Venus E 5KW (V151) P1 HomeWizard | Hackerspace Brixel te Hasselt (BE) - http://www.brixel.be | 9800X3D, 96GB DDR5 6000MHZ, NVIDIA GEFORCE 4090, ASRock X670E Steel Legend, Seasonic GX1000


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 09:35

MueR

Admin Tweakers Discord

is niet lief

Wat hebben shorttags er nou weer mee te maken :?

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • samo
  • Registratie: Juni 2003
  • Laatst online: 09:41

samo

yo/wassup

Benader je het bestand direct of via een url-rewrite?

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


Acties:
  • 0 Henk 'm!

  • com2,1ghz
  • Registratie: Oktober 2004
  • Laatst online: 11-09 10:19
MueR schreef op zaterdag 24 december 2011 @ 11:11:
Wat hebben shorttags er nou weer mee te maken :?
Omdat de raarste fouten komen doordat je <?php bent vergeten. Heeft mij ook uren tijd gekost toen ik besloot om short tags uit te zetten. Zit gelukkig weer aan.

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 11-09 13:16
En een simpele testcase met statische data?

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Short tags hebben hier geen fluit mee te maken en als je al iets met die setting doet, dan hoop ik dat je ze in godesnaam uitzet en uit laat. Je zou de eerste niet zijn die problemen heeft met XML/XHTML-templates omdat short tags (die - nogmaals - niets met dit probleem te maken kunnen hebben) aan staan.

Ontopic: kan je browser wel gewoon overweg met het content-type dat je stuurt? Maak er eens een image/jpeg van gewoon om te testen of het aan de header ligt of aan het mime-type.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

NMe schreef op zaterdag 24 december 2011 @ 14:08:
Ontopic: kan je browser wel gewoon overweg met het content-type dat je stuurt? Maak er eens een image/jpeg van gewoon om te testen of het aan de header ligt of aan het mime-type.
Dan nog zou dat geen invloed moeten hebben op de http status code, tenzij er een of andere wazige redirect gedaan wordt, maar dat zou je moeten zien door een netwerksniffer oid te gebruiken.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Die wazige redirect zou mijn vervolgvraag zijn geweest. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • laurens0619
  • Registratie: Mei 2002
  • Laatst online: 07:54
Werk je toevallig met een framework oid? Kan goed dat die de zooi overruled en voorkomt dat er headers gezet worden. Gaat het in een platte .php file ook mis?

CISSP! Drop your encryption keys!


Acties:
  • 0 Henk 'm!

  • YopY
  • Registratie: September 2003
  • Laatst online: 13-07 01:14
Doe eens een analyse van wat je browser precies verstuurt en ontvangt, en versimpel de testcase zodanig dat je met twee regels code (oid) deze uitvoer krijgt.

Als het echt alleen dit is, dan zou ik bijna denken dat de webserver of een proxy oid een of andere restrictie heeft waardoor hij text/x-vcard niet wil versturen.

Acties:
  • 0 Henk 'm!

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 05-09 14:39

_Thanatos_

Ja, en kaal

Topicstarter
Inderdaad. Een kale testcase bewijst dat het prima werkt. Ik gebruik WordPress om de data uit te halen die in de vcard gestopt moet worden:
PHP:
1
require($_SERVER['DOCUMENT_ROOT'] . '/wp-blog-header.php');

Dat dus bovenaan in de file.
Kan zijn dat dat niet de juiste manier is, maar het is toch bijzonder dat dat een dergelijke controle (en failage) kan veroorzaken?...

/edit
Even later :)
Als ik "wp-load.php" require, dan lijkt het te werken. Maar ik weet nog steeds niet of dat nou "de" manier is om de engine van wordpress aan te kunnen spreken...

[ Voor 19% gewijzigd door _Thanatos_ op 25-12-2011 02:26 ]

日本!🎌


Acties:
  • 0 Henk 'm!

  • Scr33x0r
  • Registratie: September 2004
  • Laatst online: 11-09 11:28
Lijkt mij een prima manier, de wp-blog-header.php haalt ook nog de template engine op en die haalt weer de template op..

Heb je error reporting aan staan? Zou best eens kunnen dat je anders al een headers already sent error krijgt..
Pagina: 1