Da brauchst Du keinen PHP Wrapper für.
mod_rewrite wird leider erst ausgeführt, wenn die Basic Auth erfolgreich war. Das funktioniert so also nicht.
Du kannst das ganze aber mit SetEnvIf lösen, sofern Du aus den Querystring Parametern mit mod_rewrite ne URL machst. Dann kannst Du einfach auf REQUEST_URI abfragen und den Zugang erlauben. Da dann mod_rewrite ran darf funktioniert das auch.
Man kann mit SetEnvIf leider den Query String nicht prüfen, deswegen muss die URL mit mod_rewrite vom Query String befreit werden.
mod_setenvif - Apache HTTP Server
Außerdem fehlt der Parameter Satisfy.
Weitere Infos dazu hier: Vor Basic Authentication auf https umleiten - Der Anwendungsentwickler
querschlaeger
Deine Idee mit Zugangsdaten in URL ist leicht unelegant. Dadurch das viele Browser "willst du das wirklich?" Fragen. Das verunsichert die Besucher nur unnötig.