Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie 404-Fehler mit Nginx und dem CI-Framework

So lösen Sie 404-Fehler mit Nginx und dem CI-Framework

不言
不言Original
2018-06-14 13:53:442724Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur Behebung von 404-Fehlern in Nginx und CI vorgestellt. Freunde in Not können darauf zurückgreifen.

Ich habe kürzlich das Ci-Framework kennengelernt und ein einfaches Projekt zum Einrichten eines Servers erstellt Lokal. Die Umgebung wurde angepasst, aber bei der Bereitstellung auf dem Remote-Server kann auf

http://example.com/(index.php)/ zugegriffen werden (für die konfigurierte Standard-Controller-Klasse)

Auf http://example.com/(index.php)/[controller-class]/[controller-method] kann nicht zugegriffen werden (Fehlermeldung 404!)

Schließlich Baidu-Grund:

Bei URLs wie /index.php/abc interpretieren Apache und Lighttpd es als „index.php?abc“, während Nginx denkt, dass der Anforderungsname „index“ ist. php“ Der Inhalt der abc-Datei im Verzeichnis. Daher kann CI ohne konfiguriertes Rewrite nicht unter Nginx ausgeführt werden, funktioniert jedoch normal unter Apache und Lighttpd.

Lösung (Hervorhebung fett, Hervorhebung rot):

server {
listen ;
server_name example.com;
root /data/wwwroot/example/ index index.php index.html index.htm;
location ~* \.(css|js|swf|htm|jpg|png|gif|json|atlas)?$ {
expires d;
add_header Pragma public;
add_header Cache-Control "public";
}
location /controller-class/ {
if (!-e $request_filename) {
rewrite ^/controller-class/(.*)$ /controller-class/index.php?q=$uri&$args;
}
}
location ~ \.php$ {
fastcgi_pass ...:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:/proc/;
include fastcgi_params;
}
}

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Bitte achten Sie darauf zu weiteren verwandten Inhalten der chinesischen PHP-Website!

Verwandte Empfehlungen:

Analyse der Methode zur Erweiterung der Systemkernklasse des CI-Frameworks

Das öffentliche Modell Klassendefinition des CI-Frameworks und Verwendung

Das obige ist der detaillierte Inhalt vonSo lösen Sie 404-Fehler mit Nginx und dem CI-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn