2 May 2025
Реализация дружественных URL является принципиально важной задачей. В основном в сети приведены решения для веб-сервера Apache. В этой заметке приведена часть конфигурации nginx веб-сервера, позволяющая реализовать дружественные URL.
Содержимое файла default.conf, используемого для конфигурации стандартного nginx Docker образа:
server {
index index.php;
server_name example.com;
root /usr/share/nginx/html;
# MODX friendly URLs
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php-fpm:9001;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Конфиг отличается от стандартного используемым портом PHP-FPM: 9001 вместо 9000.