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 -