2 Stimmen

Ausblenden des Standard-Controller-Namens in PHP-CodeIgniter-URLs

Ich versuche, den Standard-Controller-Namen aus URLs in CodeIgniter mit htaccess zu entfernen; Ich habe index.php ausgeblendet, sondern wollen auch loswerden der Standard-Controller, die derzeit con_index genannt wird.

Wenn zum Beispiel Site Root mysite.com wäre, mysite.com/con_index/function1 würde sich in mysite.com/function1 ändern und so weiter.

Alle anderen Controller können in der URL verbleiben. Wenn ich also einen anderen Controller namens locations mit einer Funktion namens location1 hätte, würde mysite.com/locations/location1 gleich bleiben.

Ich denke, dies sorgt für eine konventionellere Struktur, anstatt dass ein Klassen- und Funktionsname in der Sekunde auftaucht, in der man die Site Root verlässt. Knirschte meine Zähne versuchen, dies zu erreichen, kann jemand helfen?

1voto

Philips Tel Punkte 11

Versuchen Sie dies in Ihrer .htaccess :

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^(.*)\/$ index.php/com_index/$1 [nc] [L]

Dies würde alle Vorkommen innerhalb von Klammern ersetzen durch $1 . Also, wenn Sie anrufen www.example.com/function_1/ ruft es tatsächlich www.example.com/com_index/function_1

Ich bin mir jedoch nicht sicher, ob es für CI funktioniert, da CI möglicherweise einige Einschränkungen für den Zugriff auf die URL Route hat.

0voto

BebliucGeorge Punkte 753

Haben Sie versucht, mit

$route['default_controller'] = 'con_index'

CodeIgniter Standard-Controller

0voto

user2640758 Punkte 73

enter code here $route['(:any)'] = 'controller_name/function_name/$1';

es wird Controller ersetzen und dann können Sie versuchen, url zugreifen, indem Sie nicht Controller-Namen in sie.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X