Devo ottenere URL e parametri con SSI (solo con SSI), ma non riesco a trovare alcuna soluzione.Ottieni URL e parametri con SSI
Ad esempio: http://www.test.com/abc.html?data=something
E devo ottenere il valore del parametro "dati".
Devo ottenere URL e parametri con SSI (solo con SSI), ma non riesco a trovare alcuna soluzione.Ottieni URL e parametri con SSI
Ad esempio: http://www.test.com/abc.html?data=something
E devo ottenere il valore del parametro "dati".
<!-- set default value for SSI variable "data" -->
<!--#set var="data" value="" -->
<!-- get "data" value from URL -->
<!--#if expr="$QUERY_STRING = /data=([a-zA-Z0-9]+)/" -->
<!--#set var="data" value="$1" -->
<!--#endif -->
<!-- print the "data" value -->
<!--#echo var="data" -->
vecchia domanda Lo so, ma l'ho incontrato mentre facevo alcune cose SSI io stesso. Sono sicuro che hai risolto il tuo problema ormai, ma se questo non ti aiuta, forse sarà qualcun altro. Suppongo che il server sia Apache. (In caso contrario, suppongo che non funzionerà!)
Prima la dichiarazione di non responsabilità! Non sono affatto un apache, sed, o regex master, quindi sono sicuro che quanto segue può essere migliorato, ma potrebbe essere un inizio. Stampa solo la pagina relativa alla base del sito e il parametro della query di dati.
<!--#echo var="DOCUMENT_URI" -->
<!--#exec cmd="echo '$QUERY_STRING' | sed -n 's/\([^&]*&\)*data=\([^&]*\).*/\2/p'" -->
ho trovato un elenco di variabili di ambiente apache here: http://www.zytrax.com/tech/web/env_var.htm, e per scoprire cosa si può fare con questa roba una volta che hai recuperato è look here: http://httpd.apache.org/docs/2.0/howto/ssi.html.
Modificato in modo che non stampi nulla anziché l'intera stringa quando non viene trovato alcun attributo di dati.
Vorrei cambiare '/ data' in'/\ bdata' ('\ b' è un limite di parole) per evitare la corrispondenza di variabili come' iamnotdata'. – Blazemonger
'/ \\ bdata' ha funzionato per me – alekstrust