Ich versuche, meine CodeIgniter-Anwendung ähnlich wie WordPress funktionieren zu lassen.
Ich möchte in der Lage sein, diese Art von URLs zu erstellen:
http://www.example.com/my-post-example
http://www.example.com/new-headline-here
http://www.example.com/i-love-stackoverflow
Meine Streckenführung:
$route['(:any)'] = "core/index/$1";
Dadurch wird mein Core-Controller aufgerufen und der Seitenname an die Indexfunktion übergeben.
Ich suche dann in meiner Datenbank nach dem Seitennamen und zeige die Seite dem Benutzer an. So weit, ist es gut.
Es wird jedoch Zeiten geben, in denen ich einen anderen Controller anrufen möchte. Zum Beispiel:
http://www.example.com/admin/edit_page/3
http://www.example.com/admin/settings
Jetzt gehe ich davon aus, dass meine Route einfach alle diese Regeln erfasst und an meinen Core-Controller sendet. Gibt es eine Möglichkeit, für bestimmte Seiten eine Ausnahme zu machen? Oder ist es eine gute Idee, diese Überprüfung in meinem Core-Controller durchzuführen.
Zum Beispiel,
if ($page not in DB) {
// Call controller/method
}
Dies scheint ein wenig überflüssig zu sein, da ich nur möchte, dass CodeIgniter damit umgeht.