2013-10-31 7 views
21

C'è un modo per iniettare alcune righe di script, ecc. Per ogni php/html/ecc. pagina? Ad esempio alcuni javascript personalizzati dopo -tag?Come iniettare contenuti personalizzati tramite Nginx?

Lo so, dovresti essere in grado di usare lua in nginx ma c'è una soluzione migliore?

Sto eseguendo più applicazioni Web diverse dietro a nginx, quindi è il modo corretto di farlo. Non ho il codice sorgente di accesso per ogni applicazione e il mantenimento di quelli sarebbe ingombrante.

risposta

25

ho trovato il modo per farlo: http://nginx.org/en/docs/http/ngx_http_sub_module.html

location/{ 
    sub_filter </head> 
     '</head><script language="javascript" src="$script"></script>'; 
    sub_filter_once on; 
} 
+1

IndexHeadInsert viene utilizzato in Apache Cerco un comando simile a Nginx – TheBlackBenzKid

+2

nota rapida, questo modulo non è costruito per default (come afferma l'articolo collegate) così la tua installazione potrebbe non averla. Puoi vedere se ce l'hai con: 'nginx -V' che" elencherà tutti i moduli configurati "([Source] (http://serverfault.com/a/223526/138913) e cerca' --with -http_sub_module'. – JoshStrange

+5

Se il contenuto è * gzip * la sostituzione non funzionerà. Per questo, aggiungi 'proxy_set_header Accept-Encoding" ";', che dice al backend che la compressione non è consentita in una risposta. – acdcjunior

Problemi correlati