Jak echo z .htaccess?


13

Piszemy dużo kodu do htaccess, ale jaka jest najlepsza metoda debugowania poza odświeżaniem strony?

Czy jest jakiś sposób, aby zapisać go do pliku? czy jest jakaś funkcja echa / drukowania?

Po prostu skąd mam wiedzieć, ile wynosi mój 1 $ 2 $ 3 $?

Odpowiedzi:


8

Możesz wypróbować metodę wymienioną w poście na blogu zatytułowanym Kilka sposobów debugowania mod_rewrite :


Zasadniczo zrzucisz niektóre informacje używane przez mod_rewrite z powrotem do nagłówków, a następnie użyj rozszerzeń Firebug lub LiveHTTP w Firefox, aby obejrzeć nagłówki i przeczytać informacje debugowania.

W .htaccess użyj warunku i reguły:

RewriteCond %{QUERY_STRING} !vardump
RewriteRule (.*) http://www.example.com/$1?vardump&thereq=%{THE_REQUEST}&reqhost=%{HTTP_HOST} [R=301,L,QSA]

Sugeruję wykonanie przekierowania 302, aby uniknąć problemów z wynikiem 301 z pamięci podręcznej w przeglądarce po zakończeniu testu.
IPSUS

9

Spróbuj tych:

RewriteLog "/myfolder/mylogfile.log" 
RewriteLogLevel 3

Są to tylko wyrażenia regularne z pewnymi dodatkami, więc możesz użyć Regex Coach do początkowego testowania adresów URL lub dowolnego innego narzędzia do debugowania Regex.

Twoje zdrowie! :)


Bardzo przydatne narzędzie, ale pamiętaj, aby usunąć je po debugowaniu, ponieważ możesz uzyskać ogromny plik dziennika!
Coops

6
Najwyraźniej to nie działa w .htaccessplikach. Musi się to udać, httpd.confco oznacza, że ​​zwykle nie jest to możliwe na współdzielonych kontach hostingowych. :-(
Simon East

2

Oto interesujący mały hack do „echa” zmiennych z pliku .htaccess.

Jeśli ustawiłeś AllowOverride na FileInfo, możesz ustawić i uruchomić niestandardową odpowiedź na błąd w pliku .htaccess z pożądanymi zmiennymi w danych wyjściowych:

ErrorDocument 404 "Request: %{THE_REQUEST} Referrer: %{HTTP_REFERER} Host: %{HTTP_HOST}"
RewriteRule ^ - [L,R=404]

W zależności od tego, jak kreatywny jesteś dzięki wyrażeniom , możesz wypisać wiele przydatnych informacji!

Nie jesteś ograniczony do używania statusu 404 w „echo” treści. Możesz nawet przesłonić status 200 „ErrorDocument” - co w połączeniu z <If>dyrektywami może przyczynić się do innych całkiem interesujących zastosowań tego hacka, aby zwrócić zawartość bezpośrednio z pliku .htaccess.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.