Mam taką regułkę, która dodaje mi do zmiennej $_SERVER pole REDIRECT_HTTP_AUTHORIZATION, które po dekodowaniu i rozbiciu na ciągi daje mi login i hasło wpisane przez użytkownika.
Kod
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Jednak przy zastosowaniu tej regułki, wszystkie żądania przechodzą przez nią, a przez to nie działają mi pozostałe. Jak połączyć powyższe z tym tutaj:
Kod
RewriteRule ^(.*)$ index.php [F,L]
Jeśli mam tak:
Kod
RewriteRule ^(.*)$ index.php [F,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
To nie działa mi przepisywanie adresów, ale działa autoryzacja. Jeśli usunę drugi zapis, to linki by działały, ale autoryzacji nie ma.
Edit.
Przejrzałem dokładnie rewrite.log, zorientowałem się, że HTTP_AUTHORIZATION jest ustawiany za każdym żądaniem, każda reguła po kolei pasowała do tego wzorca.
Zmieniłem na poniższy kod i działa. Może się komuś przyda:
Kod
RewriteRule . index.php [F,L]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]