echo $begrüßung;
Das [RewriteLog] schaut auf den ersten Blick nicht ganz so übersichtlich aus :)
Das stimmt, verfall aber bitte nicht darauf, dir nur die Rosinen rauszupicken. Beim Fehlersuchen ist alles wichtig.
Trockenschwimmen ist nicht immer von Vorteil, weswegen ich mal versucht habe, das Problem nachzustellen. Aber das gelang mir nicht.
Gegeben sind
/index.php
/jahre/2008/test.txt
/fotos/2008/index.php
/fotos/2008/test.txt
sowie zwei .htaccess
/.htaccess
RewriteRule ^jahre/(.*)$ /fotos/$1
/fotos/2008/.htaccess
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.*) index.php
oder auch
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php
Ein Aufruf von /jahre/2008/beliebig führt stets zu /fotos/2008/beliebig. Da wirkt die zweite .htaccess und schreibt das Ergebnis der ersten auf die /fotos/2008/index.php um. Wenn 'beliebig' 'fotos/test.txt' ist, ergibt /fotos/2008/fotos/test.txt keine existierende Datei, weswegen die Umschreibung nach index.php zieht.
Vielleicht willst du eher in der ersten .htaccess ein
RewriteRule ^jahre/(.*)/fotos/(.*)$ /fotos/$1/$2
stehen haben. Damit wird die existierende /fotos/2008/test.txt beim Aufruf von /jahre/2008/fotos/test.txt gefunden. Auch /jahre/2008/test.txt findet sein Ziel.
Wenn du was anderes haben möchtest, bitte ich um eine vollständig nachvollziehbare Aufstellung aller beteiligten Dateien und Verzeichnisse und der Inhalte der .htaccess. Denn möglicherweise habe ich beim Zusammentragen der Informationen nochwas übersehen.
echo "$verabschiedung $name";