Tengo el siguiente archivo .htaccess con autenticación básica y reescritura de URL. Necesito deshabilitar la autenticación básica para una ruta específica (por ejemplo, '/openaccess'), pero la reescritura ocurre primero, por lo que no puedo deshabilitar la autenticación con SetEnvIf. Lo más parecido que he encontrado es esta respuesta , pero no me funciona en Apache 2.4.34.
RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . /index.html [L] AuthType Basic AuthName "Restricted Content" AuthUserFile /path/to/.htpasswd Require valid-userLo siguiente parece funcionar:
RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . /index.html [L] AuthType Basic AuthName "Restricted Content" AuthUserFile /path/to/.htpasswd SetEnvIf Request_URI /openaccess noauth=1 <RequireAny> Require env noauth Require env REDIRECT_noauth Require valid-user </RequireAny>