Avatar billede nickmartin Nybegynder
03. december 2003 - 10:12 Der er 2 kommentarer

apache server viser kun HTML kode i browser fra CGI script?

Hej alle,

Haaber i kan hjaelpe!

Jeg har installeret apache server og MySQL database paa den nye Linux Fedora. Jeg bruger CGI og SSI til at generere html sider, men af en eller anden grund vil mozilla kun vise selve HTML koden?

Aner ikke hvad der gaar galt??

Her er den kode jeg bruger hvis det hjaelper.

Foerst kaldes siden index.shtml som indeholder:
<!--#exec cgi="cgi-bin/pro_scripts/member_page.cgi" -->

member_page.cgi indeholder foelgende CGI kode:

#!/usr/bin/perl -w

use strict;
use lib '/var/www/cgi-bin/.mgcfg/lib';
use MLMP;

#
# Get the member key from the URL name
#

my ($userid,$page_name)=&Grab_Info;

my $key=$userid;

&MLMP::OpenMemberDB();
&MLMP::PageHit($key);

if ($key eq "MAINSITE")
  {
  $key=&MLMP::Rotate_Index;
print "Content-type: text/html\n\n";
print qq!<html><head><meta http-equiv="refresh" content=0;url="/team/$key/$page_name"></head></html>!;

exit;
  }

Denne &Grab_Info er en metode til at finde medlems ID og side navn, som jeg ikke har taget med ....

Hele skidtet virker, men problemet opstaar naar der skal vises HTML. Jeg har proevet at lave et test script, som blot bruger print content-type osv. og udskriver fint noget html.

Har meget staerkt paa fornemmelsen at det har noget at goere med SSI (server side includes) idet jeg eksekverer et CGI script igennem SSI kald?

Er der andre der har haft problemer med at faa mozilla til at vise HTML? Jeg bruger p.t. Firebird 0.7.

Jeg har kigget p[ mine server settings, og kan ikke finde noget galt. SSI fungerer jo, og jeg ved at mozilla sagtens kan displaye en *.shtml side som indeholder HTML korrekt.

Er ved at loebe toer for muligheder!
Avatar billede nickmartin Nybegynder
04. december 2003 - 11:28 #1
For at goere det nemmere at overskue saa har jag lavet foelgende test.

test.shtml som indeholder:
<!--#exec cgi="cgi-bin/pro_scripts/test.cgi" -->

og test.cgi som ondeholder denne simple kode:

#!/usr/bin/perl -w


print "Content-type: text/html\n\n";
print "<font face=arial><b>Hello World</b></font>";

exit;

Denne test udskriver baade html kode og hello world! Jeg har uploadet samme til en anden online webserver paa internettet og der vises kun HTML.

Hvad gaar der galt??
Avatar billede mahler Nybegynder
13. december 2003 - 22:44 #2
Når du nu bruger firebird, så prøv at installere http://livehttpheaders.mozdev.org/

og brug den til at checke hvilke content-type, der faktisk leveres.

Hvis du prøver at kalde dit script i en Internet Explorer, og det virker, så kan du næsten være 100% sikker på at det er en text/plain content-type der ryger ud af en eller anden årsag.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester