最新消息:

nginx 404 not found

网站建设 邹胜科 919浏览 0评论

nginx 404 not found

济南网站建设今天把做好的项目放到阿里云Liunx服务器下,除首页以外全部部都报404的错误,在本地windows上测都没事,怎么会出现这种问题呢,首先排除了文件大小写的问题,最终确定问题出在nginx设置上。

NGINX 默认不支持 PATH_INFO 模式,需要修改NGINX配置 让NGINX 来解析。济南seo在网上搜索到了几种方式,本人在这里总结一下。

第一种(并没有解决我的问题):

server {
        listen      80;
        server_name www.ci.com;
        index       index.php index.html index.htm;
        root        "/servers/apps/CI";
      location ~ \.php{
           fastcgi_pass 127.0.0.1:9000;
           fastcgi_index index.php;
            ##########################################pathinfo 模式
            set $path_info "";
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$"){
                 set $real_script_name $1;
                 set $path_info $2;
            }
            include fastcgi.conf;
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
            ##########################################nginx支持pathinfo 模式的重点    

       }      
}

第二种(还是没有解决):

if (!-e $request_filename) {
 rewrite ^.*$ /index.php last;
 }

第三种(解决一部分,因为我后台路径是admin.php,index.php没事了,admin.php又不行了):

location / {
        root   /root/www;
        index  index.php;
        try_files $uri $uri/ /index.php?$uri&$args;
    }

第四种(成功解决了我的问题):

 location ~ \.php(.*)$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
 include fastcgi_params;
 }

转载请注明:济南网站建设,济南网站制作,济南网站设计,济南seo,济南网站优化 » nginx 404 not found

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址