Score:0

Nginx ไม่แสดง 404 เมื่อพยายามใช้โฟลเดอร์ที่ไม่มีอยู่

ธง ru

เมื่อพยายามเยี่ยมชมโฟลเดอร์ที่ไม่มีอยู่ (เช่น https://domain/nonexistent) เพียงแค่โหลด root index.php

มันแสดง 404 เมื่อพยายามโหลดไฟล์เฉพาะ (https://domain/nonexistent/index.php)

นี่คือการกำหนดค่า vhost ของฉัน:

เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
ฟัง 443 ssl http2;
ฟัง [::]:443 ssl http2;
{{ssl_certificate_key}}
{{ssl_certificate}}
server_name (โดเมน);
{{ราก}}
{{nginx_access_log}}
{{nginx_error_log}}
ถ้า ($bad_bot = 1) {
กลับ 403;
}
ถ้า ($scheme != "https") {
เขียนใหม่ ^ https://$host$uri ถาวร;
}
ตำแหน่ง ~ /.well-known {
ปิด auth_basic;
อนุญาตทั้งหมด
try_files $uri =404;
}
{{basic_auth}}
try_files $uri $uri/ /index.php?$args;
ดัชนี index.php index.html;
ตำแหน่ง ~ \.php$ {
รวม fastcgi_params;
เปิด fastcgi_intercept_errors;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files $uri =404;
fastcgi_read_timeout 3600;
fastcgi_send_timeout 3600;
fastcgi_param HTTPS $fastcgi_https;
{{php_fpm_listener}}
{{php_settings}}
}
ตำแหน่ง ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|eot|mp4|ogg|ogv|webm|webp|zip|swf )$ {
add_header Access-Control-Allow-Origin "*";
หมดอายุสูงสุด
access_log off;
}
ถ้า (-f $request_filename) {
หยุดพัก;
}
}

ฉันพยายามหาทางออก แต่ดูเหมือนว่าคำถามของฉันจะเจาะจงเกินไป

Score:1
ธง ru

สิ่งที่ขาดหายไปคือ =404 ใน:

try_files $uri $uri/ /index.php?$args;

เปลี่ยนไป:

try_files $uri $uri/ /index.php?$args =404;

ที่แก้ไขมัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา