Fișierele PDF încărcate în directorul privat nu pot fi vizualizate și returnează o eroare 404.
Acest lucru se întâmplă și cu utilizatorul cu Administrator rol.
Alte tipuri de fișiere pot fi vizualizate fără probleme.
Această problemă se întâmplă într-un mediu de producție, găzduit pe Cloudways, unde directorul privat este setat din următoarea linie din setări.php fişier.
$settings['file_private_path'] = $app_root . '/../privat';
pasi pentru reproducere
Conectați-vă la site ca utilizator administrator (cel cu Administrator rol)
Adăugați un câmp de fișier la Articol tipul de conținut
Setează-l Încărcați destinația la Fișiere private
A stabilit Extensii de fișiere permise la txt, pdf, doc, docx și Dimensiunea maximă de încărcare la 1 MB
Setați directorul fișierelor la articol-test (Când directorul rădăcină al serverului este public_html/web, fișierele private ar trebui să fie încărcate în public_html/private/article-test.)
Creaza un Articol node și încărcați un fișier PDF valid a cărui dimensiune este mai mică de 1 MB (doc_0.pdf)
Salvați și publicați nodul
Vizualizați noul nod
Faceți clic pe linkul fișierului pentru fișierul încărcat, care trimite la https://<domeniu>/system/files/article-test/doc_0.pdf
)
Site-ul returnează o eroare 404
Se afișează bara browserului https://<domeniu>/user/login?destination=/system/files/article-test/doc_0.pdf
ca URL
Mergi la https://<domeniu>/admin/content/files
Faceți clic pe linkul fișierului (https://<domeniu>/system/files/article-test/doc_0.pdf
)
Site-ul returnează în continuare o eroare 404
Jurnalul Drupal arată pagina nu a fost găsită Locație https://<domain>/user/login?destination=%2Fsystem%2Ffiles%2Farticle-test%2Fdoc_0.pdf
Eliminați fișierul încărcat din nod
Încărcați un fișier text sau un fișier Microsoft Word
Vizualizarea fișierului nu returnează nicio eroare 404
la vizualizarea fișierului, se solicită salvarea sau vizualizarea fișierului
Nu cred că aceasta este o problemă de permisiuni; altfel, nu aș putea accesa aceste alte tipuri de fișiere.
Permisiunile fișierului pentru public_html/private directorul și directoarele sale sunt setate la 775. Permisiunile fișierelor pentru fișierele încărcate sunt setate la 664.
Există vreo setare (PHP, Drupal sau server) pe care ar trebui să o modific pentru a permite vizualizarea fișierelor PDF?
Este un .htaccess dosar în public_html/private director. Crezând că poate fi legat de problemă, am redenumit-o temporar în .htaccess.salvat. Apoi am încercat să accesez fișierul PDF încărcat, obținând în continuare o eroare 404.
Încă un fapt: dacă același fișier PDF este încărcat în directorul public al site-ului, fișierul poate fi vizualizat fără erori.