Không thể xem các tệp PDF được tải lên thư mục riêng và trả về lỗi 404.
Điều này cũng xảy ra với người dùng với Người quản lý vai trò.
Các loại tệp khác có thể được xem mà không có vấn đề gì.
Sự cố này xảy ra trong môi trường sản xuất, được lưu trữ trên Cloudways, nơi thư mục riêng tư được đặt từ dòng sau trong tệp cài đặt.php tập tin.
$settings['file_private_path'] = $app_root . '/../riêng';
Các bước tái sản xuất
Đăng nhập vào trang web với tư cách là người dùng quản trị viên (người có Người quản lý vai trò)
Thêm trường tệp vào Mạo từ loại nội dung
Đặt nó Điểm đến tải lên đến tập tin riêng tư
Bộ Phần mở rộng tệp được phép đến txt, pdf, doc, docx và Kích thước tải lên tối đa đến 1 MB
Đặt thư mục tệp thành bài kiểm tra (Khi thư mục gốc của máy chủ được công khai_html/web, các tệp riêng tư phải được tải lên public_html/riêng tư/bài kiểm tra.)
Tạo ra một Mạo từ nút và tải lên tệp PDF hợp lệ có kích thước nhỏ hơn 1 MB (doc_0.pdf)
Lưu và xuất bản nút
Xem nút mới
Nhấp vào liên kết tệp cho tệp đã tải lên, liên kết này đến https://<domain>/system/files/article-test/doc_0.pdf
)
Trang web trả về lỗi 404
Thanh trình duyệt hiển thị https://<domain>/user/login?destination=/system/files/article-test/doc_0.pdf
dưới dạng URL
Đi đến https://<domain>/admin/content/files
Nhấp vào liên kết tệp (https://<domain>/system/files/article-test/doc_0.pdf
)
Trang web vẫn trả về lỗi 404
Nhật ký Drupal hiển thị không tìm thấy trang Vị trí https://<domain>/user/login?destination=%2Fsystem%2Ffiles%2Farticle-test%2Fdoc_0.pdf
Xóa tệp đã tải lên khỏi nút
Tải lên tệp văn bản hoặc tệp Microsoft Word
Xem tệp không trả về bất kỳ lỗi 404 nào
đang xem tệp, lời nhắc yêu cầu lưu hoặc xem tệp
Tôi không tin đây là vấn đề về quyền; nếu không, tôi sẽ không thể truy cập các loại tệp khác này.
Các quyền đối với tập tin công khai_html/riêng tư và các thư mục của nó được đặt thành 775. Quyền đối với tệp đã tải lên được đặt thành 664.
Có cài đặt nào (PHP, Drupal hoặc máy chủ) mà tôi nên thay đổi để cho phép xem tệp PDF không?
Đây là một .htaccess trong tập tin công khai_html/riêng tư danh mục. Nghĩ rằng nó có thể liên quan đến vấn đề này, tôi tạm thời đổi tên nó thành .htaccess.đã lưu. Sau đó, tôi đã cố gắng truy cập tệp PDF đã tải lên nhưng vẫn gặp lỗi 404.
Một sự thật nữa: Nếu cùng một tệp PDF chính xác được tải lên thư mục chung của trang web, tệp đó có thể được xem mà không có lỗi.