Eu preciso encontrar uma maneira fácil e universal de capturar qualquer http://www.sub.example.com
URL e redirecioná-lo para http://sub.example.com
(ou seja, remover o www)
Prefiro implementar isso uma vez para o servidor e não para cada site, talvez usando o IIS Rewriter?
Você desejará fazer uma regra de redirecionamento no módulo de reescrita de URL do IIS da seguinte maneira:
Corresponder URL URL
solicitado:
Matches the Pattern
Usando:
Regex
Padrão:
*
eIgnore case
Condições
Agrupamento lógico:
Match Any
Entrada:
{HTTP_HOST}
Tipo: Corresponde ao Padrão Padrão:
^(www\.)(.*)$
Variáveis do Servidor Deixe em branco.
Ação Tipo de ação:
Redirect
URL de redirecionamento:
https://{C:2}{PATH_INFO}
Anexar string de consulta:
checked
Tipo de redirecionamento:Permanent (301)
Aplique a regra e execute IISReset.
Alternativamente, após instalar o módulo, você pode modificar o web.config da seguinte forma:
Esta regra destina-se a verificar qualquer URL (*), encontrar uma instância de "www." (não diferencia maiúsculas de minúsculas por padrão) em {HTTP_HOST} e, em seguida, redirecione para a segunda parte do nome de host canônico {C:2} com o restante do caminho anexado ao final {PATH_INFO}. Essa regra pode falhar se houver uma solicitação para algo como
http://bad.www.example.com/some/page.html
retornariahttps://www.example.com/some/page.html
, mas deve funcionar na maioria dos casos.