Maison  >  Article  >  développement back-end  >  Comment résoudre les erreurs 404 avec Nginx et le framework CI

Comment résoudre les erreurs 404 avec Nginx et le framework CI

不言
不言original
2018-06-14 13:53:442663parcourir

Cet article présente principalement des informations pertinentes sur la façon de résoudre les erreurs 404 dans Nginx et CI. Les amis dans le besoin peuvent s'y référer

Je viens d'apprendre le framework ci récemment et j'ai réalisé un projet simple pour configurer un serveur. localement. L'environnement a été ajusté, mais une fois déployé sur le serveur distant :

http://example.com/(index.php)/ est accessible (pour la classe de contrôleur par défaut configurée)

http://example.com/(index.php)/[controller-class]/[controller-method] n'est pas accessible (invite d'erreur 404 !)

Enfin, la raison de Baidu :

Pour les URL comme /index.php/abc, Apache et Lighttpd l'interpréteront comme "index.php?abc", tandis que nginx pensera que le nom de la requête est "index. php" Le contenu du fichier abc dans le répertoire. Par conséquent, CI ne peut pas fonctionner sous nginx sans réécriture configurée, mais il fonctionne normalement sous Apache et Lighttpd.

Solution (souligné en gras, souligné en rouge) :

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;
}
}

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun, plus contenu associé Veuillez faire attention au site Web chinois PHP !

Recommandations associées :

Analyse sur la méthode d'extension de la classe centrale du système du framework CI

Le modèle public définition de classe du cadre CI et de son utilisation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn