如何从Codeigniter(nginx)中删除index.php


How to remove index.php from Codeigniter (nginx)

我正试图通过nginx服务器使用Codeigner删除index.php?,但它不起作用。我尝试了nginx网站的官方解决方案https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/实际上,在默认文件中,我有以下代码:

server {
        listen 99 default_server;
        listen [::]:99 default_server ipv6only=on;
        root /var/www;
        index index.html index.htm index.php;
        autoindex on;
        # Make site accessible from http://localhost/
        server_name localhost;

        index index.php;
location / {
    set $page_to_view "/index.php";
    try_files $uri $uri/ @rewrites;
    root   /var/www/site;
    index  index.php index.html index.htm;
}
location ~ '.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/site$page_to_view;
}
# rewrites
location @rewrites {
    if ($uri ~* ^/([a-z]+)$) {
        set $page_to_view "/$1.php";
        rewrite ^/([a-z]+)$ /$1.php last;
    }
}
}

config.php文件如下:

$config['base_url'] = '';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

任何请求的结果都是502坏网关。

server {
    listen       80;
    server_name  localhost;
    root   /var/www/html/ci;
    autoindex on;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php;
        location = /index.php {
            fastcgi_pass   127.0.0.1:6969;
            fastcgi_param  SCRIPT_FILENAME /var/www/html/ci$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
    location ~ '.php$ {
        return 444;
    }

}

和配置文件

  $config['base_url'] = "";
  $config['index_page']       = "";
  $config['uri_protocol']     = "AUTO";