Domanda

Al momento sto lavorando su un sito di Drupal (6 *), che quando è in modalità di produzione si accederà attraverso una sorta di proxy HTTP, il che significa che dovrò riscrivere tutti i link per il mio tema personalizzato se il $_SERVER['HTTP_X_FORWARDED_SERVER'] variabile è impostata al popolo dominio avrà accesso al sito da.

Il sito ha un sacco di collegamento interno, per lo più attraverso Views. Il mio pensiero è che il modo più semplice per risolvere questo sarebbe quello di agganciare in url() e / o le funzioni l() e processo di post l'url prima di tornare se HTTP_X_FORWARDED_SERVER è impostato.

Il mio problema è che non riesco a capire come il gancio in queste funzioni, o se è persino possibile senza toccare il nucleo, qualcuno ha dovuto farlo? Come hai fatto a risolverlo?

UPDATE: Credo che ho dimenticato di dire che il proxy non sarà situato sul livello della radice del dominio proxy, quindi ho bisogno di riscrivere tutti gli URL (sia link interni e percorsi generati dal sistema per i file CSS e le immagini, ecc)

Esempi:

proxy.com/path -> site.com/lots/of/dirs

proxy.com/path/node/1 -> site.com/lots/of/dirs/node/1

proxy.com/path/sites/all/themes/mytheme/my.css -> site.com/lots/of/dirs/sites/all/themes/mytheme/my.css

È stato utile?

Soluzione

Non sono sicuro se capisco perfettamente quello che ti serve, ma penso che si dovrebbe avere uno sguardo al custom_url_rewrite_inbound () e custom_url_rewrite_outbound () funzioni.

Altri suggerimenti

Ho finito per dover modificare leggermente il nucleo, sostituendo la linea di seguito in bootstrap.inc

$server = explode('.', implode('.', array_reverse(explode(':', rtrim($_SERVER['HTTP_HOST'], '.')))));

con

$host = $_SERVER['HTTP_X_FORWARDED_HOST'] ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST']; 
$server = explode('.', implode('.', array_reverse(explode(':', rtrim($host, '.')))));

Poi ho appena istituito una nuova cartella del sito con il mio proxy.com URL e cambiato $base_url e $cookie_domain nel settings.php

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top