Am un modul nginx care redirecționează utilizatorul către diferite foldere, în funcție de URL. Logica este aceasta: mysite.site/folder1, mysite.site/folder2, mysite.site/folder3 etc.
Ceea ce vreau să fac este să impun ca, dacă utilizatorul scrie mysite.site/Folder1, serverul meu îl convertește în mysite.site/folder1 deoarece, altfel, utilizatorul primește 500 Internal Server Error.
Vreo idee? acesta este modulul meu:
Server {
asculta 443 ssl;
setați $root_path '/var/www/mysite.site';
root $root_path;
index index.html index.htm index.nginx-debian.html index.php;
server_name mysite.site www.mysite.site;
locație /folder1{
alias /var/www/mysite.site/folder1;
locație ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
locație /folder2{
alias /var/www/mysite.site/folder2;
locație ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
locație /folder3{
alias /var/www/mysite.site/folder3;
locație ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
ssl_certificate /etc/letsencrypt/live/mysite.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mysite.site/privkey.pem;
}
Server {
dacă ($gazdă = www.site-ul meu.site) {
returnează 301 https://$host$request_uri;
}
dacă ($gazdă = mysite.site) {
returnează 301 https://$host$request_uri;
}
asculta 80;
server_name mysite.site www.mysite.site;
întoarce 404;
}