Estou movendo um blog hospedado em um servidor Apache para um novo domínio.
Os links permanentes são mantidos iguais para as postagens do blog, mas há algumas páginas onde o slug do URL será alterado no novo domínio.
Minha pergunta é se o seguinte é possível e como eu faria isso com regras de reescrita.
Os slugs/links permanentes de URL das postagens do blog e da maioria das páginas do domínio antigo permanecerão os mesmos no novo domínio. Então imagino que poderia adicionar uma regra de redirecionamento que redirecione de https://huiskopenomteverhuren.nl/
para, https://vastgoedmentor.com
pois encontrará o mesmo /slug no novo domínio
Algumas páginas do site antigo foram movidas para o novo link permanente. Portanto, preciso de regras adicionais para redirecionar, por exemplo https://huiskopenomteverhuren.nl/kennisbank/
, https://vastgoedmentor.com/resources
e fazer isso também para algumas outras páginas.
Responder1
Você pode criar várias RewriteRule
diretivas com expressões regulares na configuração do seu servidor. Você deve começar com redirecionamentos específicos com links permanentes alterados. O redirecionamento geral para todas as outras páginas pode ser adicionado no final.
RewriteEngine On
RewriteRule ^/kennisbank(/.*)?$ https://vastgoedmentor.com/resources$1 [END,R=301]
RewriteRule ^/old2(/.*)?$ https://vastgoedmentor.com/new2$1 [END,R=301]
RewriteRule ^/old3(/.*)?$ https://vastgoedmentor.com/new3$1 [END,R=301]
RewriteRule ^/(.*)$ https://vastgoedmentor.com/$1 [END,R=301]
A notação de (/.*)?
executará o redirecionamento com e sem barra final e adicionará quaisquer detalhes adicionais do caminho ao novo URL. Portanto, ele se voltará huiskopenomteverhuren.nl/kennisbank/something-or-nothing
para vastgoedmentor.com/resources/something-or-nothing
.
Mais detalhes sobre o RewriteRule
podem ser encontrados em
https://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
Como todas as regras apontam para um domínio diferente, não há risco de entrar em loop. Mas ainda é uma boa ideia adicionar o END
sinalizador a todas as regras para evitar que as regras restantes sejam avaliadas. Além do L
sinalizador, o END
sinalizador também evita a avaliação de quaisquer regras adicionais em arquivos .htaccess.
Mais detalhes sobre as bandeiras podem ser encontrados em https://httpd.apache.org/docs/current/rewrite/flags.html