Eu stiam ca este invers… spre exemplu, intr-un .html, daca ai <img src="/a.png"> iti ia din din acelasi folder, dar un <img scr="./a.png"> iti ia din web_root. Cel putin eu asa stiu ca functioneaza… si in linux, daca pui ./file.ext,iti ia din root, daca nu ma insel… in timp ce /file.ext iti ia din directorul curent.
/a/b/c/d/e.extensie referenteaza fisierul respectiv pornind din root, indiferent ca e in root-ul disk-ului, sau in root-ul web (in functie de permisii, chroot, etc)
Daca deschizi fisierul asta http://localhost:81/ROOT/public/assets/css/main.css iti apare corect CSS-ul din el? Sau cumva e o pagina 404 (page not found)?
Nu imi apare nimic, pentru ca .htaccess-ul imi transforma link-ul in http://localhost:81/ROOT/public/assets/css/main.css. Pun si codul din .htaccess, poate ajuta cu ceva:
RewriteBase /ROOT/public chestia asta iti face ca web root-ul tau sa fie ce scrie acolo. Deci nu mai este /ROOT.
Probabil ca o sa-ti mearga cu RewriteBase / (si sa accesezi direct fisierul css, o sa mearga) dar inteleg ce vrei tu sa faci acolo, din pacate nu pot testa acum. Depinde si unde ai .htaccess-ul, in / sau in /ROOT ? Si index.php unde este? Pentru ca RewriteBase /ROOT/public se asteapta sa fie acolo, in public, si presimt ca e in /ROOT.
De fapt am doua .htaccess, unul in directorul public(pe care ti l-am aratat cu un post anterior) si altul in directorul app care nu contine decat Options -Indexes sa nu poata fi accesat prin URL. Fisierul index.php este in directorul public.