Files
2025-01-22 10:06:00 +01:00

98 lines
2.1 KiB
Nginx Configuration File

# server {
# listen 80 default_server;
# listen [::]:80 default_server;
# server_name _;
# server_tokens off;
#
# root /app/public;
# index index.php;
#
# location / {
# try_files $uri $uri.php $uri/ /index.php$is_args$args;
# }
#
# location ~ \.php$ {
# include fastcgi_params;
# fastcgi_pass php:9000;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# }
# }
## existing .htaccess
# # mod_rewrite starts here
# RewriteEngine on
#
# # Prevent directory listings
# Options All -Indexes
#
#
# # does not apply to existing directories, meaning that if the folder exists on the server then don't change anything and don't run the Rule!
#
# RewriteCond %{REQEUSTED_FILENAME} !-d
# RewriteCond %{REQUEST_FILENAME}\.html -f
# RewriteRule ^(.*)$ $1.html [NC,L]
#
# RewriteCond %{REQUEST_FILENAME}\.php -f
# RewriteRule ^(.*)$ $1.php [NC,L]
#
# ErrorDocument 404 /404
# ErrorDocument 403 /403
#
# <Files template.php>
# order allow,deny
# deny from all
# </Files>
# write a nginx config combining the above .htaccess and the existing nginx config
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
server_tokens off;
root /app/public;
index index.html index.htm index.php;
# make .well-known directory accessible
location ~ /.well-known {
allow all;
# serve all files in the .well-known directory
# directly without passing the request to the backend
try_files $uri =404;
}
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /$1.php;
}
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404;
error_page 403 /403;
location = /404 {
root /app/public;
}
location = /403 {
root /app/public;
}
location = /template.php {
deny all;
}
}