Also ich hab weiter gesucht und gefunden, dass das nicht über mod_rewrite gehen müsste, sondern über
redirect
Nein, was Redirect kann, kann mod_rewrite auch. Redirect ist lediglich eine etwas einfachere Umsetzung, denn wenn du Pizza bestellst, muss der Pizzabote ja auch nicht im 40-Tonner anrollen.
wenn ich das in einer htaccess-datei definiere, wird das im PHP script auch verwendet?
Nein. Sowohl Redirect als auch mod_rewrite arbeiten ausschließlich mit Anfragen, die via HTTP an den Webserver gestellt werden (bzw. intern simuliert werden, Stichwort Subrequest).
Die Dateisystemfunktionen von PHP arbeiten hingegen, wie der Name schon sagt, im Dateisystem, das ist eine völlig andere Ecke. PHP hat auch darüber hinaus wenig bis gar nichts mit dem Webserver und seinem Modulangebot zu tun, die Ausnahmen kann man an einer Hand abzählen, namentlich die Funktion virtual().
*ix-Dateisysteme erlauben jedoch neben Dateien und Verzeichnissen auch das Anlegen von symbolischen Verweisen. Ein solcher Verweis kann einen beliebigen Namen bekommen und benimmt sich wie ein normales Verzeichnis (oder eine Datei, je nachdem, wohin er zeigt).
Du könntest also folgende Struktur anlegen:
Alben/
Sport/ -> Ordner1/Sport/
Urlaub/ -> Ordner2/Urlaub/
Du benutzt dazu entweder in der Shell den Befehl ln oder, da du auf dem Server vermutlich keinen Shell-Zugang hast, ein für diesen Zweck erstelltest PHP-Skript mit dem Befehl symlink(), grob umrissen so:
chdir("Alben");
symlink("Ordner1/Sport", "Sport");
symlink("Ordner2/Urlaub", "Urlaub");
Nur einmal ausführen, danach findet dein Bilderskript im Verzeichnis Alben die (scheinbaren) Verzeichnisse Sport und Urlaub.