2016-04-22 11 views
0

beginne ich vor Kleinbuchstaben für Controller Dateiname wurde unter Verwendung-Code-Zünder Controller Dateiname kann nicht mit Großbuchstaben

jedoch vor kurzem die Datei auf andere Server verschieben, Namen müssen an die Steuerung mit Startkapital zu

=========================================

Hier das Umbenennungs Beispiel:

Dateiname: home.php

$ route ['default_controller']: "home";

Link:http://example.com/index_folder/

===================================== =====

zeigen sie Fehler von

Unable to load your default controller. Please make sure the controller specified in your Routes.php file is valid. 

Und wenn ich die Route ändern, um

$ route [ 'default_controller']: "Home";

es immer noch die gleichen Fehler zeigen,

nur Erfolg, wenn ich

gehen
http://example.com/index_folder/Home/ 

Wie das beheben? Danke für die Hilfe

aktualisieren

Hier ist die .htaccess-Datei, an der Wurzel des Projektordners:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

Der Grund der Umbenennungs wird der neue Server scheint Problem, wenn mein Controller verfügt über ist in Kleinbuchstaben

+0

Was versuchen Sie hier zu erreichen? Die Verwendung von Kleinbuchstaben innerhalb der Konfigurationsdatei ist in Ordnung. Hast du htaccess mit Mod Neufassung dort? –

+0

funktioniert diese Syntax auch http://example.com/index_folder/home –

+0

Mögliches Duplikat von [Korrekte Benennungsstruktur für CodeIgnitor] (http://stackoverflow.com/questions/16970803/correct-naming-structure-for-codegenerator)) – Pupil

Antwort

0

Linux ist Groß-und Kleinschreibung, behalten Sie den Dateinamen und Klassennamen gleich und versuchen Sie es erneut. Es wird klappen.

Derselbe Code funktioniert gut für Windows, aber Ausnahme unter Linux.

+0

vor ist der Dateiname in kleineren Buchstaben und Klassenname in Controller ist Großbuchstabe, es passt nicht, aber arbeiten so weit vorher, sehr seltsam – user782104

+0

@ user782104 Versuchen Sie Capital für Dateiname, falls Home.php korrekt ist und Verwenden von Kapital zu für Klassennamen, Beispiel Homecontroller. Ich lade CI einmal in den Namespace und der Server erkannte den Camelcase-Klassennamen "HomeController" nicht. –

+0

@ user782104 funktioniert es jetzt? –

0

Per Documentation,

class Home extends CI_Controller { 

     public function index() 
     { 
       echo 'Hello World!'; 
     } 
} 

Anschließend speichern Sie die Datei auf Ihrer application/controllers/ Verzeichnis.

Wichtig: -

Die Datei mit einem Kapital ‚H‘ genannt ‚home.php‘ werden müssen.

nun die Ihre Website besuchen, um eine URL ähnlich wie dies mit:

example.com/index.php/home/

CodeIgniter kann gesagt werden, um einen Standard-Controller zu laden, wenn eine URI ist nicht vorhanden, wie dies der Fall ist, wenn nur die URL Ihrer Site-Root angefordert wird.

Um einen Standard-Controller angeben, öffnen Sie Ihre application/config/routes.php Datei und diese Variable:

$route['default_controller'] = 'home'; 

Wo ‚zu Hause‘ ist der Name der Controller-Klasse Sie verwendet werden soll.

Wenn Sie jetzt Ihre Hauptindex.php-Datei laden, ohne irgendwelche URI-Segmente anzugeben, sehen Sie standardmäßig Ihre "Hello World" -Nachricht.

Verwandte Themen