Ich habe das gesehen und persönlich denke ich, dass es ein schreckliches Design ist. Besonders, weil viele Leute dazu neigen, den include-Parameter nicht zu bereinigen, sodass jemand jede Datei einbinden kann, die er möchte, indem er einfach einen relativen Pfad übergibt.
mod_rewrite wird typischerweise verwendet, um URLs wie:
/index.php?path=user&include=account
zu verstecken und sie durch etwas wie:
/user/account
zu ersetzen, wie hier:
RewriteEngine On
RewriteBase /
RewriteRule ^(\w+)/(\w+)$ /index.php?path=$1&include=$2 [L]
Ich füge normalerweise auch etwas wie das hier ein:
RewriteRule %{THE_REQUEST} \.php$ [R=404,L]
Ich erinnere mich nicht an die genaue Syntax, aber grundsätzlich geht es darum, dass der Benutzer keine php-Datei direkt anfordern kann. Es muss über eine andere RewriteRule erfolgen (wie die erste), was Ihnen viele Kopfschmerzen bei der Bereinigung der Abfragezeichenfolgeneingabe ersparen kann und das gesamte Problem vermeiden kann, dass PHP für Dinge globale Variablen erstellt, die Sie nie beabsichtigt haben (obwohl sie dies immer noch per POST tun können).
Wie auch immer, zurück zu der Frage, warum ich glaube, dass dies eine schreckliche Idee ist. Sie tun dies, weil sie dazu tendieren, etwas gemeinsamen Code auf jeder Seite zu wollen (wie ein Header und ein Footer). Ich würde argumentieren, dass es tatsächlich besser ist, einfach eine gemeinsame Datei am Anfang jeder Ihrer Seiten einzubinden. Es ist ein einfacheres, klareres Design.