server {
listen 80 default_server;
server_name xx.xx.xx.xx;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ .(php|html|htm)$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
##### CodeIgniter #####
# https://blog.fire-sign.info/120/
location /exampledir {
alias /var/www/html/exampledir;
index index.php;
#include /etc/nginx/expires;
if (!-d $request_filename) {
rewrite ^/exampledir/(.+)/$ /exampledir/$1 permanent;
}
if (!-e $request_filename) {
rewrite ^/exampledir/(.*)$ /exampledir/index.php?/$1 last;
break;
}
}
location ~ ^/exampledir/.+.php$ {
alias /var/www/html/exampledir;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/exampledir/index.php;
include fastcgi_params;
}
location ~ ^/(application/system)/ {
deny all;
}
location ~ application/.* { deny all; }
location ~ system/.* { deny all; }
location ~ /\.ht { deny all; }
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}