2017-09-18 1 views
0

Ich glaube, dass ich schon alles wichtige getan habe, um die benutzerdefinierte Route in codeigniter einzurichten, aber ich weiß immer noch nicht, warum ich immer 404 Fehler bekomme.Benutzerdefinierte Route funktioniert nicht im Codeigniter

Die aktuelle URL ich zugreifen kann, ist: http://localhost:8080/project/api/profile_test/

Und ich will es umschreiben als: http://localhost:8080/project/api/users/

ich diesen Code in der route.php hinzugefügt haben, aber immer noch nicht funktioniert: $route[‘users’] = 'profile_test';

Meine .htaccess ist:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ /index.php?$1 [L] 

ich habe bereits den 0.123.und entfernen Sie die index.php in $config['index_page'] = '';. Aber immer noch nicht funktioniert.

Ich bin fast 8 Stunden dafür mit dieser kleinen Sache und ich brauche Hilfe zu dem, der es weiß. Was fehlt mir? Jede Hilfe wird sehr geschätzt.

+0

einige dieser .htaccess Versuchen https://github.com/wolfgang1983/htaccess_for_codeigniter – user4419336

+0

stellen Sie sicher kein Fehler für 'profle_test' gibt es vs' profile_test' – shourav

+0

Und auch '$ route [ 'Benutzer'] =‚api/profile_test '; ' – user4419336

Antwort

0

In Codeigniter, eine Route besteht aus 3 Teilen:

  • die URL
  • der Name Controller
  • der Methodenname

The docs explain it well.

Also, wenn Ihr Projekt Wurzel http://localhost:8080/ ist, für eine URL wie project/api/users/, von einer Steuerung verarbeitet werden (in application/controllers/) genannt Profile_test und eine Methode namens index, Sie eine Route wie brauchen würde:

$route['/project/api/users'] = 'profile_test/index'; 

Beachten Sie, dass die Controller-Datei und -Klasse groß geschrieben werden muss, as described in the docs, so zum Beispiel controllers/Profile_test.php.

Wenn Wurzel Ihres Projekts http://localhost:8080/project ist, würden Sie das ändern:

$route['/api/users'] = 'profile_test/index'; 

Wenn Ihr Controller in einem Unterverzeichnis wie application/controllers/api/ befindet, würden Sie das ändern:

$route['/project/api/users'] = 'api/profile_test/index'; 

auch machen sicher, dass Sie normale einfache Anführungszeichen verwenden. Ein Teil des Codes, den Sie in Ihre Frage einfügen, enthält "intelligente" Anführungszeichen: $route[‘users’], die in PHP nicht funktionieren.

+0

funktioniert immer noch nicht –

+0

Was genau ist der Fehler? Zeigt Ihr CI-Protokoll etwas? –

+0

Der Fehler ist 404 nicht gefunden. –

Verwandte Themen