Home  >  Article  >  Backend Development  >  How to solve 404 errors with Nginx and CI framework

How to solve 404 errors with Nginx and CI framework

不言
不言Original
2018-06-14 13:53:442568browse

This article mainly introduces relevant information on how to solve 404 errors in Nginx and CI. Friends in need can refer to it

I just learned the ci framework recently and made a simple project to set up a server locally. The environment has been adjusted, but when deployed to the remote server:

http://example.com/(index.php)/ can be accessed (for the configured default controller-class)

http://example.com/(index.php)/[controller-class]/[controller-method] cannot be accessed (prompt 404 error!)

The last Baidu reason :

For URLs such as /index.php/abc, Apache and Lighttpd will interpret it as "index.php?abc", while nginx will think that the request name is "index.php" The contents of the abc file in the directory. Therefore, CI cannot run under nginx without rewrite configured, but it works normally under Apache and Lighttpd.

Solution (emphasis in bold, emphasis in red):

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

The above is the entire content of this article, I hope it will be helpful to everyone's study, please pay attention to more related content PHP Chinese website!

Related recommendations:

About the analysis of the method of extending the core class of the system by the CI framework

The public model class definition of the CI framework and usage

The above is the detailed content of How to solve 404 errors with Nginx and CI framework. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn