É bastante recomendado permitir que o usuário possa acessar o seu site com ou sem www na url.
Por exemplo: http://educoutinho.com.br e http://www.educoutinho.com.br
No entanto, para evitar duplicação na indexação do seu site pelo google é importante não manter o seu site respondendo tanto na versão sem www e com www. O que deve ser feito é um redireonamento 301 de uma url para outra.
É o que acontece quando você acessa o site do Facebook, ao digitar: facebook.com, o browser é redirecionado para www.facebook.com
No IIS é possível configurar o redirecionamento de duas formas, usando URL Rewrite ou HTTP Redirect.
No entanto, o URL Rewrite é uma opção bastante mais flexível, então vou mostrar somente como configurar utilizando essa opção.
Para instalar a feature do URL Rewrite no IIS, faça o seguinte:
1- Abrir o Get Web Plataform Components do IIS:
2- Pesquisar por “URL Rewrite” e adicionar:
3- Completar a instalação:
4- O “Url Rewrite” irá aparecer no IIS:
O “bind” do site do IIS deve ser configurado para responder tanto pelo domínio com www, quanto sem:
Você pode fazer as configurações de redirecionamento utilizando a interface do IIS (URL Rewrite / Add Rule), ou então alterar diretamente o arquivo web.config do site.
Se o seu site não tiver um arquivo web.config, basta criar o arquivo no diretório do site.
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect from www" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="www.*" />
</conditions>
<action type="Redirect" url="http://dominio.com.br/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to www" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^dominio.com.br$" />
</conditions>
<action type="Redirect" url="http://www.dominio.com.br/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect from www" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="www.*" />
</conditions>
<action type="Redirect" url="https://dominio.com.br/{R:0}" />
</rule>
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
IMPORTANTE:
1- Cache do browser: Quando você for testar isso no browser, pode ser necessário fechar o browser e abri-lo novamente porque o browser faz cache dos redirecionamentos dos domínios, outra opção é abrir uma aba anônima no browser
2- Bind do IIS: Lembre-se que você precisa configurar no IIS o bind de todos os domínios que você vai utilizar, por exemplo, se você vai redirecionar “http://www.dominio.com.br” -> “https://dominio.com.br” e http://dominio.com.br” -> “https://dominio.com.br” você precisa configurar no IIS os seguintes binds: