So entfernen Sie controller-name aus url, so dass es sauber in codeigniter
Habe ich die folgende url..
http://localhost/ci/site_controller/home
Möchte ich entfernen site_controller
controller aus url, was in..
http://localhost/ci/home
Wie kann ich dies in CodeIgniter ?
Hinweis: Wenn Sie Fragen, was ich versucht habe, als ich es gerade gemacht haben, auf der Suche über Google, da ich nicht weiß, wie Sie verwenden mod_rewrite.
BEARBEITEN
Habe ich diese in meiner routes.php
$route['default_controller'] = "site_controller/home";
$route['ci/home'] = 'ci/site_controller/home';
$route['404_override'] = '';
aber immer noch nicht funktioniert!
.htaccess
RewriteEngine On
RewriteBase /ci/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
ErrorDocument 404 /index.php
- mögliche Duplikate von htaccess mod_rewrite und viele andere
- Ich bin immer 404 Seite nicht gefunden " - Fehler auf schreiben die url ohne controller
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie festlegen, dass Ihr eine route für jede url:
In Ihrem config/routes.php Datei legen Sie jede Seite wie diese:
http://localhost/ci/site_controller/home
tatsächlich funktioniert?Dies kann helfen, definieren Sie einen Standard-Controller für Ihre CodeIgniter Projekt.
Zum Beispiel, in Ihrem Fall, öffnen Sie Ihre application/config/routes.php Datei und setzen Sie diese variable:
vorausgesetzt, Sie haben derzeit Ihre url
http://localhost/ci/site_controller/home
Sie können schreiben Sie einfach eine explizite route wie unten, um Ihre/application/config/routes.php
oder
wenn Ihr controller ist in einem Namespace befinden, zu
/application/controllers/ci/
versuchen Sie es mit der Routen-Datei zu re-map-url ' s
http://ellislab.com/codeigniter/user_guide/general/routing.html
Fand ich die Lösung in diesem link, es funktioniert für mich: http://ellislab.com/forums/viewthread/148531/
Hoffe es hilft dir 🙂
Half dies für mich. In "
routes.php
" fügte ich dieses:Drop die
'ci'
aus Ihre Routen. Das ist der name Ihres Projekts und ist nie erforderlich. Routen beginnen immer auf der controller-Ebene:Arbeiten. Wichtiger sind jedoch die.. sind Sie sicher, dass Ihr design ist richtig? Warum nicht einfach lassen
home
werden ein controller? Erstellen Sie eine/application/controllers/home.php
und Sie werden in der Lage, den Zugriff ist esindex()
Funktion mithttp://localhost/ci/home
.Sind Sie zu verkomplizieren. Keine Notwendigkeit für Routen überhaupt.
controllers/about.php
,controllers/home.php
,controllers/contact.php
, etc - ist eine gültige Konstruktion.