
Estou preso a uma regra de reescrita do IIS muito simples. Tenho uma série de links que possuem um caminho inválido e preciso redirecionar todas as solicitações desse caminho para um novo.
Aqui está o caminho quebrado: https://documentation.buzsoftware.com/buzdocs/BuzClubManager/index.cfm?ID=690
A parte "buzdocs" do caminho não existe mais e todos os links abaixo deste caminho foram movidos uma pasta para este caminho de exemplo (que funciona): https://documentation.buzsoftware.com/BuzClubManager/index.cfm?ID=690
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="(.*)/buzdocs(.*)" />
<action type="Rewrite" url="{R:1}{R:2}" appendQueryString="false" />
</rule>
ou
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="https://documentation.buzsoftware.com/buzdocs(.*)" />
<action type="Rewrite" url="https://documentation.buzsoftware.com/{R:1}" appendQueryString="false" />
</rule>
Tenho tentado uma grande variedade de padrões regex e toda vez que vou para o caminho incorreto recebo um 404 e não sou redirecionado.
Não tenho certeza se preciso usar ^ (início da linha) ou $ (fim da linha) na correspondência de padrões, tentei ambos com o mesmo resultado.
Usando apenas {R:1} (primeiro exemplo) vs. usando {R:1} e {R:2} (segundo exemplo), não tenho certeza qual é o caminho certo. Quaisquer comentários sobre as melhores práticas seriam úteis.
Eu também balancei entre <action type="Rewrite"
e <action type="Redirect"
, sem alteração.
Esses links são para um site ativo, fique à vontade para acessá-los. Obrigado por qualquer conselho, tenho certeza de que estou perdendo algo pequeno e provavelmente vou bater a cabeça na mesa por isso.