È possibile puntare molti domini / sottodomini allo stesso sito Web allo scopo o eseguire più siti su una base di codice?

StackOverflow https://stackoverflow.com/questions/1402529

  •  05-07-2019
  •  | 
  •  

Domanda

È possibile o fattibile eseguire un mucchio di siti web da una sola base di codice?

Ad esempio, ho 1 sito che basa la sua stringa di connessione sul nome di dominio o sul nome del sottodominio. Pertanto, a seconda del dominio / sottodominio che colpisce il sito, il sito restituisce contenuto archiviato in un database appositamente per quel sito.

Quali tipi di problemi potrebbero derivare da ciò? In particolare se lo fai con asp.net.

È stato utile?

Soluzione

È abbastanza accettabile.

Tieni presente che chiunque può cambiare il nome di dominio che potresti prendere (purché tu abbia configurato un'intestazione host per esso), quindi assicurati di non andare in giro a fare qualcosa come 'admin.foo' ma basandoti solo su questo per sicurezza (saresti comunque arrabbiato, ovviamente).

Non vedo alcun problema con esso.

Altri suggerimenti

Funziona ed è dimostrato. Vedi DotNetNuke per un solo esempio di questo.

Richiesta entrata. Regex / carattere corrispondono al nome di dominio. Carica le impostazioni per quel dominio (percorso base per immagini, css, config, pagine ecc ecc.) E via.

Il gotcha da cercare è se l'applicazione è sia a) che memorizza i dati in memoria eb) utilizzando lo stesso spazio dell'applicazione. Quindi, se, ad esempio, vuoi creare due blog diversi e vuoi che i dati siano residenti in memoria (se, per esempio, il tuo archivio back-end era XML e non volevi analizzare XML con ogni richiesta) dovrai assicurarti che Asp.Net veda ogni chiamata come un'applicazione separata (che può puntare alla stessa cartella del file system e quindi utilizzare gli stessi file).

Mi sono imbattuto in questa situazione esatta durante la codifica di un fornitore di dati multi-blog per BlogEngine.Net . Utilizza una singola base di codice per pubblicare blog diversi in base all'URL richiesto. Tuttavia, poiché BlogEngine.Net trasporta i suoi dati in memoria, il fornitore di dati non funzionerà a meno che IIS non sia configurato in modo tale che ogni blog sia la propria applicazione.

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