У меня есть модуль nginx, который перенаправляет пользователя в разные папки в зависимости от URL-адреса. Логика такая: mysite.site/folder1, mysite.site/folder2, mysite.site/folder3 и т. д.
Что я хочу сделать, так это обеспечить, чтобы, если пользователь пишет mysite.site/Folder1, мой сервер преобразует это в mysite.site/folder1, потому что в противном случае пользователь получает 500 Internal Server Error.
Любое предложение? это мой модуль:
сервер {
слушать 443 ssl;
установить $root_path '/var/www/mysite.site';
корень $root_path;
индекс index.html index.htm index.nginx-debian.html index.php;
имя_сервера mysite.site www.mysite.site;
местоположение / папка1 {
псевдоним /var/www/mysite.site/folder1;
расположение ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
включить fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
местоположение / папка2 {
псевдоним /var/www/mysite.site/folder2;
расположение ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
включить fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
местоположение/папка3{
псевдоним /var/www/mysite.site/folder3;
расположение ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
включить fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
ssl_certificate /etc/letsencrypt/live/mysite.site/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.site/privkey.pem; # под управлением Certbot
}
сервер {
если ($ хост = www.mysite.site) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
если ($ хост = mysite.site) {
вернуть 301 https://$host$request_uri;
} # управляется Certbot
слушать 80;
имя_сервера mysite.site www.mysite.site;
вернуть 404; # под управлением Certbot
}