Als ik www.example.com doe dan word de home.php inderdaad weergegeven.
Als ik www.example.com/post doe dan krijg ik een error "The requested URL /post/ was not found on this server."
In ieder geval wordt de index.php niet aangeroepen in alle gevallen (bestaande bestanden/directories uitgesloten), dus ligt het probleem in de rewrite-rule.
Zet anders eens een rewriterule in je .htaccess die alles naar pietjepuk.htm stuurt, zodat je weet dat de rewriterules worden opgepikt.
En controleer dus even of het bestand de juiste extentie heeft (.htaccess met dubbel c en dubbel s).
Het wordt trouwens natuurlijk nog interessanter wanneer de URL een dynamisch deel heeft.
Stel je hebt bijvoorbeeld de pagina /fruit. En je wilt de code die deze URL verder afhandelt ook verantwoordelijk maken voor /fruit[color=#ff0000]/apples[/color], /fruit[color=#ff0000]/oranges[/color], et cetera. Hoe zorgt jouw router er dan voor dat die allemaal bij /fruit uitkomen? Daar wil je toch niet allemaal get() regels voor schrijven?
<?php
class Router{
private $request;
public function __construct($request){
$this->request = $request;
}
public function get($route, $file){
$uri = trim( $this->request, "/");
$uri = explode("/", $uri);
if($uri[0] == trim($route, "/")){
//hiermee zou ik de dynamische kant kunnen sturen Deze kan ik dan opvangen in de post.php of page.php met $args[0];
//deze kan ik dan weer gebruiken voor een query om de pagina te vullen met de info uit de database
array_shift($uri);
$args = $uri;
require $file . '.php';
}
}
}
?>
//hiermee zou ik de dynamische kant kunnen sturen Deze kan ik dan opvangen in de post.php of page.php met $args[0];
//deze kan ik dan weer gebruiken voor een query om de pagina te vullen met de info uit de database
Ja, dat zou je inderdaad kunnen doen, maar dat heeft wel als bijeffect dat je alle URL's zult moeten opslaan in de database. Stel dat je een forum hebt, of een ander stuk functionaliteit met een heleboel "nodes" of "end points" dan is dat misschien een beetje onbegonnen werk, of op zijn minst nogal onpraktisch.