Hi,
<Limit GET POST PUT>
require valid-user
</Limit>
wozu brauchst Du diese <Limit>-Klausel? Was ist mit den anderen HTTP-Methoden - warum willst Du die anders behandeln als GET, POST und PUT?
<files xyz.php>
Order Allow,Deny
Allow from all
Deny from none
satisfy any
</files>
Sehr interessant. Wenn ich nämlich statt einer PHP-Datei eine normale Textdatei nehmen, dann funktioniert das, was Du da vorhast, tadellos.
Daraus schließe ich, daß Dein Problem in der Einbindung des PHP-Interpreters liegt.
Wie funktioniert die bei Dir? Ich vermute, auf eine Art und Weise, bei der letzten Endes der PHP-Interpreter selbst der angesprochene URL ist und Deine xyz.php diesem nur als Parameter übergeben wird - dann greift Deine Konfiguration natürlich nicht mehr.
(Eine entsprechende Meldung müßte dann eigentlich auch in Deinem error_log stehen.)
Ich kann Dein Beispiel übrigens reduzieren auf
require valid-user
<files xyz.php>
satisfy any
</files>
und es funktioniert bei mir (ohne PHP-Interpreter) dann immer noch.
Viele Grüße
Michael