2016-08-01 10 views
0

Ich versuche, statische und dynamische Inhalte in einer maßgeschneiderten CodeIgniter 3.1 Website zu mischen. Ich verwende das Tutorial Beispiel für den statischen Inhalt gegeben:Mischen von statischen und dynamischen Seiten in CodeIgniter

$route['default_controller'] = 'pages/view'; 
$route['(:any)'] = 'pages/view/$1'; 

Ich fürchte, dies zu dem Zweck ziemlich chaotisch sein würde, da (: any) zu allgemein ist, und ich will nicht, etwas verwenden wie "/static/(:any)" Route.

Irgendwelche Vorschläge, wie man eine Lösung erreichen kann, die mir eine statisch und Controller namens freundliche URL haben?

Jede Idee ist willkommen und sehr geschätzt.


Da meine Frage zu verstehen, schwierig zu sein scheint, werde ich versuchen, es zu fragen, noch einmal:

Gibt es eine Möglichkeit, statische Inhalte mit dem obigen Code zu kombinieren (von codeigniter Tutorial) und der üblicher Ansatz http://example.com/controller/index_named_method dynamische Inhaltsverarbeitung?

Können Sie ein Beispiel geben?

Sollte ich ändern $route['(:any)'] für jede statische Webseite Name: $route['(home|contact|links)']?

Vielen Dank im Voraus

+0

Haben Sie den Rest des Tutorials gelesen und verstanden? Nicht versuchen, ein Weiser zu sein, aber die restlichen Tutorial-Teile sprechen über dynamische Inhalte. Allerdings verwende ich das vorgestellte statische Seitenkonzept nicht. Stattdessen benutze ich einfach das unkomplizierte 'http://example.com/ [controller-class]/[controller-method]/[Argumente]' für alle Seiten. Dies macht es überflüssig, eine Reihe von Routen zu definieren. – DFriend

+0

Sicher, Sie haben völlig Recht, und das ist mein Ansatz auch, aber was passiert, wenn Sie nur Index als eine Methode verwenden möchten, um eine Uniform zu halten http://example.com/[controller-klasse]/ , elegant, freundlich URLs Website? Sie können nicht, können Sie? – eisenseinstein

+0

Wenn ich deine Frage verstehe, ja. Die Route $ route ['default_controller'] = 'home'; 'würde die Controller Home.php auf' http: // example.com' abbilden. Home.php würde eine Indexmethode benötigen. Das ist die einzige Route, die du wirklich brauchst. Jede andere Anfrage an "http: // example.com/some_controller" ruft die Indexfunktion von "some_controller" auf. Also müssen Sie offensichtlich 'index()' definieren. – DFriend

Antwort

1

Nun, ich muss sagen, dass ich eine Antwort habe mir; wie gesagt in meinem vorherigen Post Editing, Mixing statische und dynamische Inhalte index() Methode in der Controller nutzt das Tutorial am Beispiel erreicht werden kann, um eine Route mit allen Controllern Namen wie diese hinzu:

$route['(books|flowers|links)'] = '$1';

Dank diejenigen, die geholfen haben.

Verwandte Themen