Jump to content

[TUT]Eigen errorpagina's op je site


Donald F. Duck

Recommended Posts

Eigen errorpagina's op je site

Inleiding

In PHP is het mogelijk (met behulp van .htaccess) om eigengemaakte errorpagina's te gebruiken in plaats van de standaard errorpagina's. Dit ziet er vaak mooier uit omdat de layout hetzelfde blijft en het is ook handiger omdat je er handige links bij kan zetten of een contactformulier, wat je bij de standaard pagina's niet hebt.

Benodigdheden

PHP (wordt door veel hosts ondersteund)

.htaccess (wordt niet altijd ondersteund)

Een texteditor (Kladblok voldoet al)

Zelf weet ik niet hoe je er achter kan komen of .htaccess/ErrorDocument ondersteund wordt.

Het .htaccess-bestand

Om eigen errorpagina's in te stellen zodat ze ook werken, heb je .htaccess nodig.

Errorpagina's definiëren werkt zo:

ErrorDocument {code} {paginaplek}

Voor een 404 (not found) error kan je dus gebruiken:

ErrorDocument 404 /errors/404.html

Uitleg:

ErrorDocument - Om aan te geven dat het om een errorpagina gaat

404 - HTTP-code, onder aan deze post staat een link met de codelijst.

/errors/404.html - De pagina waar heen verwezen wordt. In dit geval www.jouwsite.nl/errors/404.html.

Opmerking: Er moet een / voor de bestandsnaam staan (of een hele URL), anders laat hij de tekst zien.

Je kan ook andere codes gebruiken. De meest gebruikte codes voor .htaccess zijn 400 (Bad Request), 403 (Forbidden), 404 (Not Found) en 500 (Internal Server Error). Deze 4 codes bij elkaar vormen:

ErrorDocument 400 /errors/400.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html

Je kan ook de HTML code in het .htaccess bestand zetten:

ErrorDocument 404 "<b>Not Found</b><br />Deze pagina bestaat niet.

Merk op dat je op het eind geen " in hoeft te vullen.

Zelf raad ik deze manier niet aan, je .htaccess bestand wordt er onoverzichtelijk van.

Nog een manier om een error te verwijzen is naar een ander domein (tip van Joriz in post #4):

ErrorDocument 404 http://www.anderdomein.nl/

Dit is goed bruikbaar wanneer het domein verplaatst is, alleen zou ik dan gebruik maken van error 301 Moved Permanently (zie link onderaan post), zodat je minder verdere problemen krijgt.

Ook kan je dit gebruiken als je een errordocument op een subdomein host of ergens anders dan het relatieve pad vanuit de pagina.

Het errorbestand

Het errorbestand mag je helemaal zelf invullen. Je kan simpel neerzetten dat de pagina niet bestaat met een link naar de homepage, maar je kan hem ook heel uitgebreid maken met relevante pagina's, een contactformulier, enz.

HTTP-codes

De codes zijn hier te vinden.

Overig

Het hoeven niet altijd error-pagina's te zijn. Code 200 (OK) bijv. is een code dat aangeeft dat het bestand gevonden is. Ik zou daarom niet elke code een pagina geven. Als je bijv. een pagina hebt bij 200 kom je nooit op de pagina uit, hij verwijst je door naar de ingevulde pagina.

Afsluiting

Dit was een uitleg over eigen errorpagina's op je site.

Als je nog vragen/opmerkingen hebt kun je ze gerust stellen.

Laatst geüpdate: (bb-code verbeterd)

Bewerkt: door Donald F. Duck
Link to comment
Delen op andere websites

Super tutorial.

Merk op dat het volgende ook werkt:

ErrorDocument 404 http://www.gtagames.nl/

In dit voorbeeld stuur je dus een bezoeker die een niet bestaande pagina bezoekt naar een ander domeinnaam. Misschien een goede toevoeging dat je ook gewoon kan doorsturen naar externe websites of pagina's die op een (sub)domein van je staan.

Link to comment
Delen op andere websites

Ik gebruik het op woelmuis.nl. Want dan linkt ie automatisch naar woelmuis.nl.

Ik doe dus alles wat hier staat en hij blijft linken naar woelmuis.nl.

De code van .htacces

ErrorDocument 404 /foutpaginas/404.html

En die van de 404 pagina:

<html>[/size][/size]
[size="2"][size=2]<header>[/size][/size]
[size="2"][size=2]<title>Oeps, verkeerd verbonden</title>[/size][/size]
[size="2"][size=2]</header>[/size][/size]
[size="2"][size=2]<body>[/size][/size]
[size="2"][size=2]Oeps, jij hoort hier niet thuis. Deze pagina bestaan (nog) niet.[/size][/size]
[size="2"][size=2]Je hebt vast op een verkeerde link geklikt. Meld zo'n link alstjebliet bij de eigenaar.[/size][/size]
[size="2"][size=2]
[/size][/size]
[size="2"][size=2]<a href="http://dji-unit.woelmuis.nl/"> Ga terug naar de homepage</a>[/size][/size]
[size="2"][size=2]</body>[/size][/size]
[size="2"][size=2]</html>

Wat moet ik doen?

Link to comment
Delen op andere websites

Ik weet niet, ondersteunt-ie wel .htaccess (of zelfs ErrorDocument)? Als een host PHP ondersteunt, kan het zijn dat hij .htaccess uit heeft gezet. Op het moment weet ik geen manier hoe je er achter kan komen of ErrorDocument/.htaccess ondersteund wordt.

Bewerkt: door Donald F. Duck
Link to comment
Delen op andere websites

Ik weet niet, ondersteunt-ie wel .htaccess (of zelfs ErrorDocument)? Als een host PHP ondersteunt, kan het zijn dat hij .htaccess uit heeft gezet. Op het moment weet ik geen manier hoe je er achter kan komen of ErrorDocument/.htaccess ondersteund wordt.

Nee.

.htacces laten ze hier niet toe, als je topic doorleest zie je dat het als eens gevraagt en afgewezen is(blz. 2).

Bron

Link to comment
Delen op andere websites

Nette tutorial. Best wel simpel, maar heeft toch een hoge waarde voor de wat meer ervaren webdesigner. Zelf was ik ook altijd erg geboeid bezig met webdesign alleen ik krijg vast geen betaalde host, en dan blijf je toch behoorlijk steken na wat html en css.

Javascript heb ik trouwens nooit gemogen, vanwege de doeleinden, en omdat je alles wat je met javascript kan doen, 2x zo goed kan doen met PHP. Verder is roll-out van JS wel nice, maar dat is het. Voor nu dan teminste.

Link to comment
Delen op andere websites

Javascript heb ik trouwens nooit gemogen, vanwege de doeleinden, en omdat je alles wat je met javascript kan doen, 2x zo goed kan doen met PHP. Verder is roll-out van JS wel nice, maar dat is het. Voor nu dan teminste.

Dat is niet waar, PHP word op de server uitgevoerd en kan niets doen met dynamische rollouts, effecten, queries zonder herladen, en ga zo maar door. Je kan heel veel leuke dingen doen met Javascript, en wat je met JS kan kan je niet met HTML en PHP.

@Hieronder: Daarvoor hebben de geavanceerde browsers wel oplossingen, zoals de optie bij Chrome: "Voorkom dat deze website meerdere dialogen weergeeft". Het word soms misbruikt, ja, maar was Javascript er niet hadden heel veel websites véél minder functies. Als je naar dit forum kijkt zit er ook behoorlijk veel Javascript in ;)

Bewerkt: door Beagle
Link to comment
Delen op andere websites

Ja maar Javascript wordt onder andere ook gebruikt voor pop-ups en dat soort ongein. Verder had ik het inderdaad over die roll-out. Maar ik heb liever nooit meer een enkele pop-up, doorverwijzing, en van die mudkipz.ws sites, dan al die voordelen die het heeft.

Da's mijn mening, maar Js wordt vreselijk misbruikt, komt omdat het veel van dat soort functies heeft.

Link to comment
Delen op andere websites

Veel van die 'misbruikte' functies kun je meestal wel in je browser uitzetten.

Verder valt javascript echt niet te vergelijken met php.

De basis van de talen, het doel, de functies, etc. zijn allemaal heel erg verschillend.

Javascript is een zogeheten objectgeoriënteerde taal. PHP is eerder een functionele taal, ookal is het tegenwoordig ook mogelijk om meer objectgeoriënteerd te scripten.

Javascript wordt inderdaad op heel veel websites gebruikt. Een paar voorbeelden waar het echt heel veel gebruikt wordt zijn bijvoorbeeld dit forum (/forumsysteem), hyves, online msn, google maps, en bijvoorbeeld WYSIWYG-editors. Zonder javascript, waren geen van deze mogelijk.

PS: let er wel op dat dit een beetje offtopic is

Bewerkt: door marcootje
Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...