Als erstes sollte geprüft werden, ob die Servervariable $_SERVER['PATH_INFO'] befüllt wird. Wenn dies der Fall ist, dann wird alles, was nach dem aufgerufenen Dateinamen folgt, in dieser Variable abgelegt. Bei einem Aufruf von index.php?bestellung=software&preis=1000 oder von index.php/presseartikel=22 findet sich dann die angehängte Abfrage in der Servervariablen PATH_INFO wieder. Somit lassen sich Parameter beispielsweise durch index.php/presseartikel/22/ maskieren.
Allerdings ist das Beibehalten der Dateiendung ein kleiner Schönheitsfehler. Dieser kann korregiert werden, falls der Server die Eigenschaft Multi-View bzw. ForceType unterstützt. Falls der Apache-Server diese Eigenschaft aktiviert hat, dann führt ein Aufruf von index/presseartikel/22/ zu einem Ergebnis.
Denn wird keine Extension angegeben, verhandelt der Browser mit dem Apache-Server, welche Version der Datei ausgeliefert werden soll. Wenn nur eine Datei mit dem Namen index.php in unserem Verzeichnis auf dem Apache-Server abgelegt wurde, kann auch nur diese Datei abgerufen werden. Der Server wird also immer auf diese Datei zurück greifen. Das machen wir uns zunutze. Da in unserem Fall nur eine Datei mit dem Namen index und der Endung php existiert, wird diese Datei an den Client ausgeliefert. Wem index als Dateiname nicht passend ist, der lädt einfach eine page.php auf den Server hoch. Damit würde der Aufruf dann wie folgt aussehen: page/presseartikel/22/ oder page/bestellung/software/1000/