Webpages

Uit Stack Wiki
Ga naar: navigatie, zoeken

Hoe kan ik mijn eigen webpagina maken?

In de homedirectory van je UNIX account vind je een subdirectory genaamd .html. Hierin kun je HTML documenten andere bestanden (plaatjes) plaatsen die dan voor iedereen via het world-wide web op te vragen zijn. Het bestand index.html in deze directory correspondeert dan met de URL

http://www.stack.nl/~username/

Hoe gebruik ik SSI's?

Een Server Side Include, of kortweg SSI, is een speciale code die in een HTML bestand opgenomen kan worden. Wanneer iemand dan deze pagina opvraagt, wordt de SSI vervangen door de opgegeven uitvoer. Hiermee kun je eenvoudig dynamische pagina's maken (pagina's die telkens net iets anders zijn) en de datum of een bezoekers-tellertje in je pagina opnemen. Met de volgende code neem je het totaal aantal bezoekers (als gewone tekst) in je pagina op:

<!--#count-total-->

Zie de httpd_ssi manual voor een overzicht van alle ondersteunde SSI's.

Wat zijn CGI scripts?

Het is mogelijk om HTML pagina's interactief te maken. Dit gebeurt door middel van kleine programma's, die invoer van de gebruiker verwerken en gebaseerd hierop uitvoer genereren. Dit kan bijvoorbeeld gebruikt worden om formulieren te verwerken. De programmaatjes worden CGI binaries of CGI scripts genoemd. CGI staat voor Common Gateway Interface. Deze CGI scripts moeten altijd in een subdirectory cgi-bin staan. Door de volgende SSI in je pagina op te nemen, voeg de de uitvoer van het programm test in je cgi-bin directory op in je pagina:

<!--#run-cgi /~username/cgi-bin/test-->

Wat zijn PHP scripts?

De PHP scripting taal biedt een andere mogelijkheid om je HTML pagina's interactief te maken. De PHP commando's kunnen net als server-side-includes in je HTML tekst opgenomen worden. Deze worden ook door de server uitgevoerd (in tegenstelling tot bijvoorbeeld JavaScript dat door de browser wordt uitgevoerd). Alle PHP commando's moeten genest worden binnen de speciale codes

<?php
  ...
?>

Voor PHP is het vereist om je documenten de speciale extensie .php te geven.

Hoe kan ik zien hoe vaak mijn site bezocht wordt?

Hiervoor gebruiken wij het programma sconstat. Dit programma maakt dagelijks een overzicht aan van de bezoeken van elke homepage; dit overzicht bevat ook een grafiekje van de laatste week. Je kunt een link naar de sconstat pagina opnemen door de volgende HTML code in je bestand op te nemen:

<a href="sconstat/stats.html">bezoekersinfo</a>

Ook kun je een dagelijks overzicht van deze statistieken toegemaild krijgen op je Stack account. Heb je hier interesse in, laat het dan even weten aan [1].

Hoe maak ik een imagemap (klikbaar plaatje)?

Een klikbaar plaatje, ofwel imagemap, is een grafische manier van navigeren. Je kunt in een plaatje verschillende gebieden aangeven, die elk naar een andere lokatie leiden. De gebruiker klikt ergens op het plaatje, en de server zoekt dan de bijbehorende URL op in een map-bestand. Hoe je zo'n plaatje maakt en opneemt in je pagina's staat stap voor stap beschreven in SIS.

Hoe kan ik een directory beveiligen?

  • Als je een directory tijdelijk volledig ontoegankelijk wilt maken, kun je een bestand genaamd .noxs in deze directory plaatsen. Niemand kan er dan nog vanaf het WWW bij.
  • Wil je bestanden in een directory alleen toegankelijk maken vanaf bepaalde sites, dan kun je in het bestand .noxs de IP nummers (of prefix) van de betreffende sites opnemen. Wil je dat mensen jouw subdirectory local alleen vanaf een Stackmachine kunnen bekijken, type dan
(echo 131.155.140; echo 131.155.141) > ~/.html/local/.noxs
  • Wil je een aantal bestanden beveilingen met een wachtwoord, ga dan in de betreffende directory staan en gebruik het commando xspasswd; zoals beschreven in de xspasswd manual.

Hoe kan ik een URL laten doorverwijzen?

Als je een pagina hernoemd hebt naar iets anders, kun je voor de oude pagina een doorverwijzing aanmaken. Dit kan door het nieuwe adres op te nemen in een bestand met de toevoeging .redir. Heb je bijvoorbeeld oud.html hernoemd naar nieuw.html dan kun je dit commando gebruiken om een verwijzing aan te maken:

echo http://www.stack.nl/~username/nieuw.html > oud.html.redir

Kan ik mijn eigen domein gebruiken (www.mijnnaam.nl)?

Ja, Stack biedt virtual hosting mogelijkheden voor alle leden. Als je een eigen domeinnaam hebt, kun je deze ook gebruiken voor je Stack website. Zie [Virtual hosting] voor meer informatie.

Hoe kan ik een HTTP cookie versturen?

Een HTTP-cookie is een variabele (meestal uniek) die de server meestuurt op het moment dat iemand een bepaalde pagina opvraagt. De volgende keer (keren) dat deze persoon je pagina's bezoekt, zal hij het cookie telkens opnieuw meesturen. Zo kun je bijvoorbeeld de naam van iemand onthouden en gebruiken in je webpagina's. Je kunt een cookie meesturen door de volgende header in je CGI script op te nemen:

Set-Cookie: cname=cvalue; path=/~user/

Een CGI script is trouwens niet vereist. Een alternatief dat ook door alle moderne browsers herkend wordt, is om volgende HTML code in je pagina op te nemen:

<meta http-equiv="Set-Cookie" content="cname=cvalue; path=/~user/">

Je kunt de waarde van deze Cookies in je CGI scriptjes opvragen via de variabele ${HTTP_COOKIE}. Meer informatie of het gebruik van Cookies (en wat je ermee kunt doen) is te vinden in RFC 2109: HTTP State Management Mechanism

Hoe kan ik server foutmeldingen afvangen?

Als de standaard foutmeldingen van de server je niet bevallen; of je in bepaalde gevallen geen foutmelding wilt genereren, maar mensen doorsturen naar een andere pagina. Je kunt dan een CGI sciptje maken met de naam error dat aangeroepen wordt zodra er een fout optreed. Gebruik makend van de server-variabelen die doorgegeven worden, kun je dan je eigen foutenroutine schrijven. Je kunt de errorcode aanpassen door een status-header op te nemen als eerste regel van je uitvoer. Gebruik bijvoorbeeld echo Status: 404 om een No such file or directory error te simuleren. Zie de httpd manual voor een overzicht van de beschikbare variabelen.