ฉันมีโมดูล 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;
server_name mysite.site www.mysite.site;
ตำแหน่ง /folder1{
นามแฝง /var/www/mysite.site/folder1;
ตำแหน่ง ~ \.php$ {
fastcgi_pass ยูนิกซ์:/run/php/php7.4-fpm.sock;
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
ตำแหน่ง /folder2{
นามแฝง /var/www/mysite.site/folder2;
ตำแหน่ง ~ \.php$ {
fastcgi_pass ยูนิกซ์:/run/php/php7.4-fpm.sock;
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
ตำแหน่ง /folder3{
นามแฝง /var/www/mysite.site/folder3;
ตำแหน่ง ~ \.php$ {
fastcgi_pass ยูนิกซ์:/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
}
เซิร์ฟเวอร์ {
ถ้า ($host = www.mysite.site) {
ส่งคืน 301 https://$host$request_uri;
} # จัดการโดย Certbot
ถ้า ($host = mysite.site) {
ส่งคืน 301 https://$host$request_uri;
} # จัดการโดย Certbot
ฟัง 80;
server_name mysite.site www.mysite.site;
กลับ 404; # จัดการโดย Certbot
}