error 404 in index file

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

Ervaren senior C# developer in Arnhem gezocht

Organisatie Voor een van mijn businesspartners uit de omgeving van Arnhem ben ik op zoek naar een ervaren senior C# ASP.NET developer. Deze organisatie maakt complexe software producten voor bepaalde bedrijfsprocessen. Denk hierbij aan beslisregelsystemen, klachtenmanagementsystemen, digitale formulieren of een combinatie hiervan in één portaal. De software wordt specifiek op elke klant zijn wens aangepast. Bij de klanten moet je denken aan enerzijds provincies, gemeenten en overheidsinstanties en anderzijds aan banken, hypotheekverstrekkers en verzekeringsmaatschappijen. Binnen het bedrijf, van circa zestig man groot, heerst een informele sfeer. Collegialiteit staat er hoog in het vaandel, wat je terugziet in de wekelijkse vrijdagmiddagborrel

Bekijk vacature »

Loek Lemmens

Loek Lemmens

05/06/2019 23:35:57
Quote Anchor link
Hallo,


Waar ik naar opzoek ben is hoe ik een error 404 document in de index file kan laden.
Ik ben het stoeien geweest met htacces maar dan redirect hij naar de 404 file en include deze niet.

htacces bestand staat in de root map en de 404 file in root/inc/errors/404.php
 
PHP hulp

PHP hulp

16/09/2019 23:09:17
 
Thomas van den Heuvel

Thomas van den Heuvel

06/06/2019 00:13:23
Quote Anchor link
Idealiter voer je de "rekensom" die bepaalt of een pagina bestaat of niet zelf uit in PHP-code, dan kun je namelijk op grond daarvan ook bepalen welke content je serveert. Als je hebt vastgesteld dat een URL niet bestaat in jouw webapplicatie, dan serveer je de bijbehorende 404 content. Het is dan ook verstandig om handmatig de HTTP response code in te stellen.

Een manier om het bovenstaande te bereiken is door alle requests door te sturen naar de centrale "ingang" in jouw webapplicatie (single point of entry), dit is meestal index.php. Vervolgens inspecteer je of de oorspronkelijke aanroep een bekende/bestaande pagina was. Deze kun je opvragen via $_SERVER['REQUEST_URI']. Vervolgens genereer je op grond hiervan een response: de content van de bijbehorende pagina, of een 404 pagina, uiteraard met bijbehorende HTTP headers (200 OK, 404 Not Found et cetera).

Hoe je e.e.a. implementeert in PHP en alles doorstuurt naar index.php (ook weer met .htaccess) kan bijvoorbeeld als volgt.

Het bovenstaande is slechts het begin, vervolgens ga je met $path aan de slag. Daarmee dien je te bepalen of dat applicatiepad bestaat en dien je de bijbehorende content te serveren.

Uiteraard bestaan hier legio variaties op die min of meer hetzelfde doen. Het principe is altijd hetzelfde: je delegeert het afhandelen van het opvragen+serveren naar de webapplicatie zelf.
Gewijzigd op 06/06/2019 00:26:53 door Thomas van den Heuvel
 
Rob Doemaarwat

Rob Doemaarwat

06/06/2019 07:01:44
Quote Anchor link
Maar praktisch:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($deze_request_kan_ik_niet_vinden){
  http_response_code(404);
  include('inc/errors/404.php');
  exit();
}

?>
 
- Ariën -
Beheerder

- Ariën -

06/06/2019 10:53:41
Quote Anchor link
Wat Rob en Thomas zeggen, doe ik ook.
maar voor het gemak gebruik ik ook nog eens .htaccess:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
ErrorDocument 401 /http_status_code?error=401
ErrorDocument 403 /http_status_code?error=403
ErrorDocument 404 /http_status_code?error=404
ErrorDocument 500 /http_status_code?error=500

Als iemand bijvoorbeeld een directory wilt bekijken (403), of tegen een bokkende server (500) aanloopt, dan gaat dit ook door mijn frameworkje heen. De werkelijke URL zie je niet, omdat een ErrorDocument (apache) niet doorstuurt maar een soort van includeert.

Maar 404's gaan geloof ik sowieso al door mijn framework, dus die regel zou als ik mijn niet vergis al overbodig moeten zijn.
Gewijzigd op 06/06/2019 10:54:42 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

06/06/2019 19:57:39
Quote Anchor link
> De werkelijke URL zie je niet, omdat een ErrorDocument (apache) niet doorstuurt maar een soort van includeert.
Dit is simpelweg een interne redirect in plaats van een externe, voor zover ik weet.

> Maar 404's gaan geloof ik sowieso al door mijn framework, dus die regel zou als ik mijn niet vergis al overbodig moeten zijn.
Er valt wel iets voor te zeggen om de headers op een enkele plaats op een uniforme manier te regelen, dus als je alles je code in kunt trekken verdient dat de voorkeur. Dit maakt je ook minder afhankelijk van webserver specifieke syntax/functionaliteit.
 
- Ariën -
Beheerder

- Ariën -

07/06/2019 12:35:27
Quote Anchor link
Ja, dat klopt, ik gebruik in mijn framework een eigen class die de juiste foutmeldingen + header voorschotelt.
Hoewel het volgens mij zinniger is om http_response_code(...) te gebruiken. Volgens mij geeft deze meteen de juiste headers mee.
 
Thomas van den Heuvel

Thomas van den Heuvel

08/06/2019 19:55:31
Quote Anchor link
> Hoewel het volgens mij zinniger is om http_response_code(...) te gebruiken. Volgens mij geeft deze meteen de juiste headers mee.
Dat is dan de implementatie.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.