mi consiglia di forzare l'utilizzo di il www. versione del sito, per questo motivo tra gli altri, questo sito ha ottime ragioni per cui ...
http://www.yes-www.org/why-use-www/
Per fare questo in .NET è possibile aggiungere quanto segue al file web.config
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to www" stopProcessing="true">
<match url="(.*)" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^sitename.com$" />
</conditions>
<action type="Redirect" url="{MapProtocol:{HTTPS}}://www.{HTTP_HOST}{HTTP_URL}" redirectType="Permanent"/>
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="MapProtocol">
<add key="on" value="https" />
<add key="off" value="http" />
</rewriteMap>
</rewriteMaps>
</rewrite>
</system.webServer>
Questa volontà automatico reindirizzare in modo permanente (vedi l'aggiunta di redirectType = "permanente") per gli URL non www al www equivalente e mantenere l'http (s) protocollo
la parte trackAllCaptures è legato al pattern matching regex - in il nostro c come noi non abbiamo bisogno di catturare nulla, abbiamo solo bisogno di corrispondere per la regola, quindi possiamo lasciare come falso.
Il modello di espressione regolare^sitename.com $ corrisponderà quando il nome host corrisponde esattamente a "sitename.com" - il^significa che la posizione di partenza e il $ indica la posizione finale
La mappa riscrittura è da un Credo che l'idea di Jeff Graves, http://jeffgraves.me/2012/11/06/maintain-protocol-in-url-rewrite-rules/
Il modo in cui ho mostrato mostra un solo modo per farlo, come con la maggior parte delle cose - ci sono molti modi per raggiungere questo obiettivo.
Scott Forsyth ha un articolo su diverso modo di raggiungere questo (fa riferimento anche Jeff Graves) http://weblogs.asp.net/owscott/url-rewrite-protocol-http-https-in-the-action
è possibile reindirizzare tutto sitename.com a www.sitename.com o viceversa per non avere questo tipo di problema. –
Come potrei fare per farlo? –