15 messaggi dal 22 gennaio 2009
Ciao a tutti spiego il mio problema.

Ho un dominio chiamato, per esempio, www.miservizio.it. Questo sito offre spazio web (minimo) accessibile tramite www.mioservizio.it/nomeprofilo.
Tale sottodirectory esegue un urlrewriting sulla pagina interna http://www.mioservizio.it/nomeprofilo/index.aspx e da ISS quindi viene riconosciuto.

La mia necessita e' quella di registrare, per conto di chi ha dei profili nel www.mioservizio.it, un dominio personale con nome qualsiasi (per esempio www.nomeprofilo.it) che punti a tale sottodirectory e che quindi venga mostrato correttamente il profilo all indirizzo www.nomeprofilo.it e venga nascosto il reale link www.mioservizio.it/nomeprofilo.

Possibile fare una cosa simile? Con un DNS o con l acquisto di un dominio classico?

Per ora la mia soluzione e quella di usare un iframe nel dominio personale www.nomeprofilo.it che punta a www.mioservizio.it/nomeprofilo ma non mi sembra la soluzione piu professionale, ne tantomeno SEO Friendly.

Un'altra soluzione sarebbe un URL redirect 301, molto piu agevole.

Voi cosa consigliate? Anche a livello di DNS o altri puntamenti server.

Ciao a tutti
Daniele
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
è fattibile, dovresti seguire alcuni passi.
  • a livello di DNS devi impostare il record A di www.nomeprofilo.it sullo stesso IP di www.mioservizio.it, in modo che entrambi i domini puntino allo stesso server.
  • Ora devi fare in modo che il sito che hai creato in IIS risponda sia che lo si raggiunga da www.mioservizio.it che da www.nomeprofilo.it. Per far questo, entra nella console di IIS e seleziona il sito dall'albero a sinistra. Adesso, nel menu di destra troverai il comando "Binding...". Cliccalo e apparirà una finestra in cui probabilmente vedrai già configurato www.mioservizio.it. Clicca "aggiungi..." e su "Nome host" digita www.nomeprofilo.it e dai OK.
  • dal tuo browser, vista www.nomeprofilo.it. Dovresti vedere gli stessi contenuti che vedi da www.mioservizio.it
  • come ultima cosa, bisogna impostare una regola che permetta ad IIS di andare a pescare i file dalla sottocartella /nomeprofilo, anziché dalla root, quando si visita www.nomeprofilo.it. Hai parlato di url rewriting, quindi presumo che tu abbia installato l'URL Rewriting Module di IIS 7. Se non fosse così, puoi scaricarlo e installarlo gratuitamente. Fatto questo, nella console di IIS, selezionando il sito, trovi l'icona "URL Rewrite". Doppioclick e poi clicca "Add Rule(s)" che è sulla destra. Ti appare il wizard per la creazione di una nuova regola. Seleziona "Blank rule". Dagli un nome e poi imposta quanto segue:
    Requested URL: Matches the pattern
    Using: Regular expressions
    Pattern: (.*)
    Ignore case: lascialo pure spuntato
    Nel pannello Conditions clicca Add...
    Condition input: {HTTP_HOST}
    Check if input string: Matches the pattern
    Pattern: www.nomeprofilo.it
    Ignore case: lascia spuntato
    Dai ok per tornare alla finestra precedente e scrolla giù.
    Action type: Rewrite
    Rewrite URL: /nomeprofilo/{R:1}
    Append query string: lascia spuntato
    Clicca "Applica" per salvare la regola.
  • Nel tuo web.config dovrebbe essere stata salvata una regola del genere:
    <rule name="nomeprofilo">
        <match url="(.*)" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="www.nomeprofilo.it" />
        </conditions>
        <action type="Rewrite" url="/nomeprofilo/{R:1}" />
    </rule>
    

    Torna nel browser a vedere se ora IIS ti fornisce i giusti contenuti.


La regola si spiega così: a condizione che il sito visitato sia www.nomeprofilo.it, tutto il percorso virtuale (es. /index.aspx) viene catturato dall'espressione regolare (.*) e infilato in una variabile {R:1}, che viene infine accodata al nuovo percorso /nomeprofilo/.

Se vuoi provare il funzionamento di tutto ciò senza prima mettere mano al DNS, puoi farlo. Vai a editare il tuo file c:\windows\System32\drivers\etc\hosts. Mettici dentro una linea simile:
indirizzo.ip.del.server www.nomeprofilo.it

Così, solo dal tuo PC, la risoluzione di www.nomeprofilo.it avverrà staticamente sull'ip del server che hai indicato. Puoi farlo anche con domini che non esistono affatto, così puoi preparare il server già prima di aver registrato il dominio.

ciao,

ps.

Tale sottodirectory esegue un urlrewriting sulla pagina interna http://www.mioservizio.it/nomeprofilo/index.aspx e da ISS quindi viene riconosciuto.


In quel caso non è necessario fare un url rewriting. In IIS esiste l'icona "Documento predefinito". Fai doppioclick e vedrai una lista di nomi di pagine predefinite che IIS andrà a cercare. Aggiungici index.aspx. Far questo equivale ad aggiungere nel web.config un nodo <defaultDocument> all'interno di <system.webServer>
<defaultDocument>
    <files>
        <add value="index.aspx" />
    </files>
</defaultDocument>

Modificato da BrightSoul il 12 ottobre 2011 20.04 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.