Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    dubbio applicazione su sottodominio

    salve,
    è possibile utilizzare la stessa base di codice di un'applicazione su diversi sottodomini? es.

    pippo.application.it -> pippo si logga ed accede al proprio db
    pluto.application.it -> pluto si logga ed accede al proprio db
    ....
    ....

    vorrei non dover duplicare lo stesso codice dell'applicazione in ogni sottodominio. Inoltre, come gestisco i diversi login degli utenti ai diversi database?

    Spero di essere stato chiaro

    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Si è possibile ma dipende da come è l'applicazione e da quanto puoi configurare il server web.

    Usi qualche cms/framework o è tutto fatto a manina?
    Sei su un hosting condiviso o hai pieno accesso al server (tipo vps)?

  3. #3
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Si è possibile ma dipende da come è l'applicazione e da quanto puoi configurare il server web.

    Usi qualche cms/framework o è tutto fatto a manina?
    Sei su un hosting condiviso o hai pieno accesso al server (tipo vps)?
    Ciao e grazie per la risposta

    - l'applicazione la svilupperei interamente io da 0 senza utilizzo di framework
    - ho pieno accesso al server


  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2013
    residenza
    Perugia
    Messaggi
    23
    In miei progetti simili ho creato un DB contenente una tabella con i dati di accesso degli utenti e con una colonna contente il nome del DB di connessione.

    Se non strettamente necessario, potresti non creare i sottodomini.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Io ho appena fatto una cosa simile utilizzando Laravel come framework.

    Nel mio caso ho mantenuto un singolo database perchè il numero dei sottodomini è variabile (shop dei singoli utenti nei vari sottodomini), quindi non volevo dover creare e cancellare nuovi database ogni volta che un utente si registra/cancella. Inoltre non vedevo un motivo pratico per crearne più di uno.

    Per quanto riguarda il lato routing, nel tuo router dovrai prendere dalla richiesta il sottodominio di provenienza e tramite quello direzionare il flusso dell'applicazione. Inoltre anche lato server dovrai gestire correttamente le varie connessioni. Io per esempio ho fatto in modo che il mio nginx reindirizzasse tutto il traffico verso un solo file (traffico di tutti i sottodomini) e da lui poi gestisco tutto tramite il router php.

    Ora su due piedi queste sono le cose più rilevanti che mi sono venute in mente, ma se hai dei dubbi su qualcosa di specifico chiedi pure.

  6. #6
    Grazie per le risposte.

    dopo continue prove e rimaneggiamenti ho provveduto a:
    - creare un sottodominio "wildcard" sul mio server;
    - effettuare una modifica al file .htaccess;
    codice:
    RewriteCond %{HTTP_HOST} ^(.+?)\.(.+)$ [NC]
    RewriteRule ^(.*)$ http://%2/domain.php?subdomain=%1 [P]
    riuscendo ad intercettare quale sottodominio è stato digitato. Ho provato a utilizzare il nome del sottodominio digitato come parametro di una SELECT della tabella UTENTI, riuscendo, attraverso una serie di IF a capire se l'utente che fa riferimento al sottodominio esiste oppure no.

    Presumo che la tabella UTENTI debba contenere oltre il campo SUBDOMAIN, anche quello DBNAME, DBPASSWORD.
    Non riesco a capire come prelevare questi dati per creare una connessione permanente che consenta a ciascun utente di poter utilizzare il proprio database.

    in pratica il tutto dovrebbe funzionare così:
    1 - utente digita il proprio sottodominio -> es. utente1.sito.com
    2 - intercetto il sottodominio -> "utente1"
    3 - eseguo una select nel db utenti per verificare se esiste l'utente;
    4a - se non esiste -> redirect
    4b - se esiste prelevo dati di connessione al db utente1
    5 - creo nuova connessione al db utente1
    6 - utente1 utilizza l'applicazione

    Spero di essermi spiegato

    Grazie.
    Ultima modifica di cablos; 10-05-2020 a 10:35

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.