Come echeggiare da .htaccess?


13

Scriviamo molto codice per htaccess ma qual è il metodo migliore per eseguire il debug oltre all'aggiornamento della pagina?

C'è un modo per scriverlo in un file? o c'è qualche funzione echo / print?

Semplicemente come faccio a sapere qual è il mio $ 1 $ 2 $ 3?

Risposte:


8

Puoi provare il metodo menzionato nel post del blog intitolato A Couple Ways to Debug mod_rewrite :


Fondamentalmente quello che fai è scaricare alcune delle informazioni che mod_rewrite sta usando indietro nelle intestazioni, quindi usa le estensioni Firebug o LiveHTTP Headers in Firefox per guardare le intestazioni e leggere le tue informazioni di debug.

In .htaccess usa la condizione e la regola:

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

Suggerirei di effettuare il reindirizzamento 302 per evitare problemi con 301 risultati nella cache in un browser dopo aver terminato un test.
IPSUS

9

Prova questi:

RewriteLog "/myfolder/mylogfile.log" 
RewriteLogLevel 3

Queste sono solo espressioni regolari con alcune aggiunte, quindi puoi usare Regex Coach per i test iniziali sugli URL o qualsiasi altro strumento di debug Regex.

Saluti! :)


Strumento molto utile, ma ricordati di rimuoverlo dopo il debug in quanto puoi ottenere un file di registro enorme!
Cooper

6
Apparentemente questo non funziona nei .htaccessfile. Deve andare nel httpd.confsenso che di solito non è realizzabile su account di hosting condiviso. :-(
Simon East,

2

Ecco un piccolo trucco interessante per "riecheggiare" le variabili da un file .htaccess.

Se AllowOverride è impostato su FileInfo, è possibile impostare e attivare una risposta di errore personalizzata nel file .htaccess con le variabili desiderate nell'output:

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

A seconda di quanto sei creativo con le espressioni , puoi generare molte informazioni utili!

Non sei limitato all'utilizzo dello stato 404 sul tuo contenuto "ripetuto". Puoi anche sovrascrivere lo stato 200 "ErrorDocument", che combinato con le <If>direttive potrebbe rendere alcuni altri usi piuttosto interessanti di questo hack per restituire il contenuto direttamente da un file .htaccess.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.