Gå til innhold

MIME for XHTML + PHP?


Anbefalte innlegg

Skrevet (endret)

Jeg sitter og leker meg litt med XHTML og har greid å lage en skikkelig XHTML-side (fått parser-error også :p ). Jeg har brukt AddType application/xhtml+xml .php i .htaccess, men da fungerer ikke PHP. Jeg har prøvd å skrive AddType application/x-httpd-php .php i samme .htaccess-fil og på et høyere nivå, men PHP blir ikke aktivert.

 

Hvordan får jeg da både XHTML- og PHP-MIME inn på samme linje?

Endret av endrebjorsvik
Videoannonse
Annonse
Skrevet
Jeg sitter og leker meg litt med XHTML og har greid å lage en skikkelig XHTML-side (fått parser-error også :p ). Jeg har brukt AddType application/xhtml+xml .php i .htaccess, men da fungerer ikke PHP. Jeg har prøvd å skrive AddType application/x-httpd-php .php i samme .htaccess-fil og på et høyere nivå, men PHP blir ikke aktivert.

 

Hvordan får jeg da både XHTML- og PHP-MIME inn på samme linje?

5969398[/snapback]

 

prøver du å aktivere php gjennom htaccess? Eller xhtml? Sistnevnte trenger du neppe aktivere og førstnevnte kan jeg aldri tenke meg kan aktiveres gjennom htaccess.

Skrevet (endret)
Jeg sitter og leker meg litt med XHTML og har greid å lage en skikkelig XHTML-side (fått parser-error også :p ). Jeg har brukt AddType application/xhtml+xml .php i .htaccess, men da fungerer ikke PHP. Jeg har prøvd å skrive AddType application/x-httpd-php .php i samme .htaccess-fil og på et høyere nivå, men PHP blir ikke aktivert.

 

Hvordan får jeg da både XHTML- og PHP-MIME inn på samme linje?

5969398[/snapback]

 

prøver du å aktivere php gjennom htaccess? Eller xhtml? Sistnevnte trenger du neppe aktivere og førstnevnte kan jeg aldri tenke meg kan aktiveres gjennom htaccess.

5969776[/snapback]

For at XHTML skal sendes med rikig MIME-type, må man enten definere den i .htaccess eller i en PHP-header i en hver enkelt PHP-fil.

Men når jeg setter MIME-typen på .php-filenen til application/xhtml+xml parses ikke PHP-koden. Det jeg da vil er at begge skal aktiveres.

 

Og PHP kan faktisk aktiveres gjennom .htaccess. F.eks slik at .htm-filer parses som PHP. ;)

Endret av endrebjorsvik
Skrevet

Jeg tror ikke du kan ha begge deler på samme linje, men jeg er ikke sikker.

 

Hvis du fjerner .php kan du legge det til på ny slik:

 

RemoveHandler .php
AddType application/x-httpd-php5 .php

Skrevet (endret)

bare sende ut at content-type er xhtml+xml med php det.

 

<?php 
 if (stristr($_SERVER[HTTP_ACCEPT], "application/xhtml+xml")) {
 header("Content-Type: application/xhtml+xml; charset=iso-8859-1"); }
 else { header("Content-Type: text/html; charset=iso-8859-1"); }
?>

 

Sendes helt først i fila. (sjekke om browseren syns xhtml+xml er fint er gode ting :)

 

EDIT: ja, er ikke MIME-type, men det fikser problemet ditt :p

EDIT2: Det burde ikke være pes å ha/huske den eller om man lager siden sin vettug :)

Endret av arthoz
Skrevet

Og PHP kan faktisk aktiveres gjennom .htaccess. F.eks slik at .htm-filer parses som PHP. ;)

5969947[/snapback]

 

Litt flisespikkeri, men det (se over) er ikke akkurat å aktivere php, men mer å få php-parser til å parse også andre filtyper enn phpfiler.

Skrevet
bare sende ut at content-type er xhtml+xml med php det.

 

<?php 
 if (stristr($_SERVER[HTTP_ACCEPT], "application/xhtml+xml")) {
 header("Content-Type: application/xhtml+xml; charset=iso-8859-1"); }
 else { header("Content-Type: text/html; charset=iso-8859-1"); }
?>

Sendes helt først i fila. (sjekke om browseren syns xhtml+xml er fint er gode ting :)

EDIT: ja, er ikke MIME-type, men det fikser problemet ditt :p

EDIT2: Det burde ikke være pes å ha/huske den eller om man lager siden sin vettug :)

5970794[/snapback]

Den der ville uansett vært nødvendig hvis jeg skulle laget en seriøs side som skulle fungert i IE (uten å måtte ha drevet med masse redirecting og mod_rewrite). Bare prøv å åpne testsiden i IE.

 

Men nå har det seg slik at jeg bare vil prøve litt forskjellige greier, og lurte på om det går an å fikse det slik at .php-filer parses som PHP og sendes som XHTMl vha .htaccess.

Skrevet (endret)

Seriøst, med mindre du har bruk for MathML eller noko sånt er dette ufattelig mykje arbeid til ingen nytte.

Kan du ikkje berre bruke ein HTML-DTD? :dontgetit:

 

 

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml\s*;\s*q=0
RewriteCond %{REQUEST_URI} \.php$
RewriteCond %{THE_REQUEST} HTTP/1\.1
RewriteRule .* - [T=application/xhtml+xml]

 

Er ikkje sikker på om fila blir parsa som PHP før MIME-typen settast no, men du kan jo prøve.

Endret av Henrik Lied
Skrevet
<snip>

5970794[/snapback]

Den der ville uansett vært nødvendig hvis jeg skulle laget en seriøs side som skulle fungert i IE (uten å måtte ha drevet med masse redirecting og mod_rewrite). Bare prøv å åpne testsiden i IE.

 

Men nå har det seg slik at jeg bare vil prøve litt forskjellige greier, og lurte på om det går an å fikse det slik at .php-filer parses som PHP og sendes som XHTMl vha .htaccess.

5975044[/snapback]

 

det er derfor den sjekker om browseren kan motta den først, og ikke bare sender den ut som xhtml+xml blindt til alle browsere, jeg bruker akkurat den snutten på min side, og den mottar den som text/html i IE, mens resten får den som xhtml+xml

 

(siden min er i sig.)

Skrevet (endret)
Seriøst, med mindre du har bruk for MathML eller noko sånt er dette ufattelig mykje arbeid til ingen nytte.

Kan du ikkje berre bruke ein HTML-DTD? :dontgetit:

 

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml\s*;\s*q=0
RewriteCond %{REQUEST_URI} \.php$
RewriteCond %{THE_REQUEST} HTTP/1\.1
RewriteRule .* - [T=application/xhtml+xml]

 

Er ikkje sikker på om fila blir parsa som PHP før MIME-typen settast no, men du kan jo prøve.

5975126[/snapback]

Det er bare på gøy. :p Jeg prøver å lære meg/forstå litt forskjellige greier.

Den parser ihvertfall PHP-kode, men jeg får ikke helt til xhtml samtidig. Delvis pga. PHP parser <?xml... som PHP-kode og kommer med parsing feil. Noen som vet hvordan jeg skrur av korte PHP-tagger? (Edit: Fikset parse-error vha <?php echo '<?xml... ?>'; ?>, men den sendes fremdeles ikke som xhtml)

 

Hvorfor ikke bruke php til å sette MIME?

header("Content-Type: application/xhtml+xml");

5975280[/snapback]

Man må sette det i hver eneste fil, og jeg ønsker å prøve å legge slike ting i et så lavt nivå som mulig. Mest på gøy da.

(en annen ovenfor foreslo akkurat det samme som deg)

Endret av endrebjorsvik
Skrevet
Hvorfor ikke bruke php til å sette MIME?

header("Content-Type: application/xhtml+xml");

5975280[/snapback]

Man må sette det i hver eneste fil, og jeg ønsker å prøve å legge slike ting i et så lavt nivå som mulig. Mest på gøy da.

(en annen ovenfor foreslo akkurat det samme som deg)

5976148[/snapback]

 

Har man så fryktelig mange sider da?

Index.php med et vettugt includescript, link til CSS (og eventuelt javascript), resten er kun html. Det blir vel 1 side med den koden det ^^;

 

Men godt å se at du fikk fikset problemene dine :)

Skrevet
Men godt å se at du fikk fikset problemene dine :)

5976944[/snapback]

Jeg var litt utydelig i stad. Jeg har egentlig ikke fått fikset det (og har heller ikke tilgang til php.ini hos start.no såvidt jeg vet).

Men, men. Jeg får bare innse at det ikke finnes noen skikkelig og enkel løsning da, selv om det egentlig skal være et enkelt problem.

Skrevet
Men godt å se at du fikk fikset problemene dine :)

5976944[/snapback]

Jeg var litt utydelig i stad. Jeg har egentlig ikke fått fikset det (og har heller ikke tilgang til php.ini hos start.no såvidt jeg vet).

Men, men. Jeg får bare innse at det ikke finnes noen skikkelig og enkel løsning da, selv om det egentlig skal være et enkelt problem.

5980057[/snapback]

Grunnen til at det er vanskelig er at det egentlig ikkje skal gjerast. Denne prosessen skal gå automatisk i nettlesaren. :)

Skrevet
Men godt å se at du fikk fikset problemene dine :)

5976944[/snapback]

Jeg var litt utydelig i stad. Jeg har egentlig ikke fått fikset det (og har heller ikke tilgang til php.ini hos start.no såvidt jeg vet).

Men, men. Jeg får bare innse at det ikke finnes noen skikkelig og enkel løsning da, selv om det egentlig skal være et enkelt problem.

5980057[/snapback]

Grunnen til at det er vanskelig er at det egentlig ikkje skal gjerast. Denne prosessen skal gå automatisk i nettlesaren. :)

5984298[/snapback]

Men selv Firefox og Opera mottar XHTML som text/html hvis ikke annet er satt via PHP/.htaccess. Hvordan skal det da gå automatisk i nettleseren? :dontgetit:

 

Har noe gått galt en plass i historien?

Skrevet

Høres ut som du gjør noe feil hvertfall :hmm:

 

Har du denne linjen øverst i koden:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

(eller tilsvarende)

Skrevet

eivind: Tror du er litt ute av din ekspertise her :)

For at nettleseren skal tolke det som sendes som annet enn text/html må man sette en mine-type med php(el lignende) ellers leses det som html, og derfor tag-soup.

 

Docktypen har ingenting å si for hvordan dokumentet leses.

Skrevet

orsus: Tror nok du er litt ute av din ekspertise :!:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

Den forteller nettleseren hvordan XML'en skal tolkes. Tolkes ikke XML'en riktig, vil den heller ikke vise riktig.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...