Domanda

Devo reindirizzare un sottodominio "falso" a un sottodominio reale in IIS 7.5.Il motivo è che il reparto marketing non vuole utilizzare l'effettivo indirizzo del sito web nei pezzi stampati.

URL effettivo del sito:

reporting.usapartners.com

Il reparto marketing vuolereport.usapartners.com (falso) a reindirizzare a reporting.usapartners.com (reale)

Ancora una volta, report.usapartners.com non esiste, esiste solo reporting.usapartners.com

Ecco cosa ho provato

Ho aggiunto un'associazione in IIS, per il sito reporting.usapartners.com.Ho aggiunto report.usapartners.com come nome host e ho utilizzato l'indirizzo IP reporting.usapartners.com

Poi sono andato su reporting.usapartners.com web.config e ho aggiunto questo:

<rewrite>
    <rules>
        <rule name="report" stopProcessing="true">
          <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_HOST}" pattern="report.usapartners.com" negate="false" />
          </conditions>
          <action type="Redirect" url="http://reporting.usapartners.com" appendQueryString="false" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Sembra che la mia soluzione crei un alias a cui non è possibile reindirizzare.

Sto affrontando correttamente questo problema?Sembra che dovrebbe essere un problema semplice da risolvere ma forse no?Qualsiasi idea è accolta e apprezzata.

Grazie

È stato utile?

Soluzione

Penso che sia necessario creare un sito separato con collegamenti host per report.usapartners.com (il sito falso) in IIS.Questo sarà un sito stub (avrà comunque bisogno di un percorso sul disco, ma avrà solo un web.config lì) che ospiterà semplicemente una regola di reindirizzamento.

Ora fai clic su HTTP Redirect per quel sito in IIS e seleziona Redirect requests to this destination e metti http://reporting.usapartners.com nella casella di testo.Quindi spunta Redirect all requests to exact destination (instead of relative to destination), non selezionare quello successivo e quindi scegli Codice di stato Permanent (301).

Se vuoi che reindirizzi e mantenga le sottodirectory e/o la stringa di query, puoi modificare il contenuto della casella di testo in modo che sia http://reporting.usapartners.com$S$Q.Tieni presente che in questo caso non è presente alcuna barra finale.IL $S conserva le sottodirectory e il file $Q conserva la stringa di query.

Altri suggerimenti

La tua regola sta causando un loop di reindirizzamento.

Osserva ciò che la tua regola fa:

    .
  • Abbina qualsiasi URL dato (questo include "/", "/ qualcosa", "/something/arother.html", ecc.)
  • Se il nome host non è "report.usapartners.com"
  • Reindirizza permanentemente la richiesta di " http://reporting.usapartners.com >

Così, come vedi, non appena l'utente viene reindirizzato al sottodominio di reporting, viene reindirizzato di nuovo alla segnalazione, poiché hostname non è "report.usapartners.com".

La chiave qui è l'attributo negate="true" sulla condizione della regola. Rimuovilo o impostalo su falso e sei a posto.

Modifica:

Sei quasi lì.

La soluzione reale sarebbe cambiare il nome host sulla regola sull'host desiderato, mantenendo il negativo vero, quindi la tua regola farebbe:

    .
  • Abbina qualsiasi URL dato (questo include "/", "/ qualcosa", "/something/arother.html", ecc.)
  • Se il nome host non è "reporting.USApartners.com"
  • Reindirizza permanentemente la richiesta di " http://reporting.usapartners.com >

Codice:

...
<add input="{HTTP_HOST}" pattern="reporting.usapartners.com" negate="true" />
...
.

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