Score:2

ฉันไม่สามารถเข้าถึงไฟล์ PDF ที่อัปโหลดในไดเร็กทอรีส่วนตัว

ธง gb

ไม่สามารถดูไฟล์ PDF ที่อัปโหลดไปยังไดเร็กทอรีส่วนตัวและส่งกลับข้อผิดพลาด 404 สิ่งนี้ยังเกิดขึ้นกับผู้ใช้ด้วย ผู้ดูแลระบบ บทบาท. ไฟล์ประเภทอื่นสามารถดูได้โดยไม่มีปัญหา ปัญหานี้เกิดขึ้นในสภาพแวดล้อมการใช้งานจริงซึ่งโฮสต์บน Cloudways ซึ่งไดเร็กทอรีส่วนตัวถูกตั้งค่าจากบรรทัดต่อไปนี้ใน การตั้งค่า.php ไฟล์.

$settings['file_private_path'] = $app_root '/../ส่วนตัว';

ขั้นตอนในการสืบพันธุ์

  • เข้าสู่ระบบเว็บไซต์ในฐานะผู้ดูแลระบบ (อันที่มี ผู้ดูแลระบบ บทบาท)

  • เพิ่มฟิลด์ไฟล์ลงใน บทความ ชนิดของเนื้อหา

  • ตั้งของมัน อัปโหลดปลายทาง ถึง ไฟล์ส่วนตัว

  • ชุด นามสกุลไฟล์ที่อนุญาต ถึง txt, pdf, doc, docx และ ขนาดอัปโหลดสูงสุด เป็น 1Â MB

  • ตั้งค่าไดเร็กทอรีไฟล์เป็น บทความทดสอบ (เมื่อไดเร็กทอรีรูทของเซิร์ฟเวอร์คือ public_html/เว็บควรอัปโหลดไฟล์ส่วนตัวไปที่ public_html/private/article-test.)

  • สร้าง บทความ โหนดและอัปโหลดไฟล์ PDF ที่ถูกต้องซึ่งมีขนาดน้อยกว่า 1 MB (doc_0.pdf)

  • บันทึกและเผยแพร่โหนด

  • ดูโหนดใหม่

  • คลิกลิงก์ไฟล์สำหรับไฟล์ที่อัปโหลด ซึ่งลิงก์ไปยัง https://<โดเมน>/system/files/article-test/doc_0.pdf)

  • ไซต์ส่งคืนข้อผิดพลาด 404

  • แถบเบราว์เซอร์แสดงขึ้น https://<โดเมน>/user/login?destination=/system/files/article-test/doc_0.pdf เป็น URL

  • ไปที่ https://<โดเมน>/admin/content/files

  • คลิกที่ลิงค์ไฟล์ (https://<โดเมน>/system/files/article-test/doc_0.pdf)

  • ไซต์ยังคงส่งคืนข้อผิดพลาด 404

  • บันทึก Drupal แสดง ไม่พบหน้าที่ตั้ง https://<โดเมน>/user/login?destination=%2Fsystem%2Ffiles%2Farticle-test%2Fdoc_0.pdf

  • ลบไฟล์ที่อัพโหลดออกจากโหนด

  • อัปโหลดไฟล์ข้อความหรือไฟล์ Microsoft Word

  • การดูไฟล์ไม่ส่งคืนข้อผิดพลาด 404 ใดๆ

  • กำลังดูไฟล์ ระบบจะแจ้งให้คุณบันทึกหรือดูไฟล์

ฉันไม่เชื่อว่านี่เป็นปัญหาการอนุญาต มิฉะนั้น ฉันจะไม่สามารถเข้าถึงไฟล์ประเภทอื่นเหล่านี้ได้

สิทธิ์ของไฟล์สำหรับ public_html/ส่วนตัว ไดเร็กทอรีและไดเร็กทอรีถูกตั้งค่าเป็น 775 การอนุญาตไฟล์สำหรับไฟล์ที่อัปโหลดถูกตั้งค่าเป็น 664

มีการตั้งค่า (PHP, Drupal หรือเซิร์ฟเวอร์) ที่ฉันควรเปลี่ยนเพื่ออนุญาตให้ดูไฟล์ PDF หรือไม่

มี .htaccess ไฟล์ใน public_html/ส่วนตัว ไดเรกทอรี เมื่อคิดว่ามันอาจเกี่ยวข้องกับปัญหา ฉันจึงเปลี่ยนชื่อชั่วคราวเป็น .htaccess.saved. จากนั้นฉันพยายามเข้าถึงไฟล์ PDF ที่อัปโหลด แต่ก็ยังได้รับข้อผิดพลาด 404

ข้อเท็จจริงอีกประการหนึ่ง: หากไฟล์ PDF ไฟล์เดียวกันถูกอัปโหลดไปยังไดเร็กทอรีสาธารณะของไซต์ สามารถดูไฟล์ได้โดยไม่มีข้อผิดพลาด

id flag
Drupal ให้บริการไฟล์ส่วนตัวโดยการอ่านจากระบบไฟล์ ดังนั้นฉันจึงสงสัยว่า `.htaccess` เกี่ยวข้องกับสิ่งนี้ ไดเร็กทอรีที่กำหนดค่าสำหรับไฟล์ส่วนตัวบนระบบไฟล์ที่แตกต่างจากไดเร็กทอรีสาธารณะหรือไม่
id flag
บางส่วนที่เกี่ยวข้อง: https://www.drupal.org/node/2911882
rmompoin avatar
gb flag
ไดเร็กทอรีส่วนตัวอยู่ในระบบไฟล์เดียวกันกับไดเร็กทอรีสาธารณะ ปัญหานี้ https://www.drupal.org/project/webform/issues/3098553 บน drupal.org น่าจะเป็นทางออก ฉันได้ขอรายละเอียดเพิ่มเติมเกี่ยวกับวิธีแก้ปัญหาจากผู้เขียนแล้ว

โพสต์คำตอบ

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