- Status
- Resolvido
Visão geral do problema
Quando você muda o formato de URL depois que seus posts são publicados e traduzidos, você pode ter um problema com o redirecionamento dos URLs se os digitar diretamente na barra de endereços do navegador.
Por exemplo:
- Você está usando Idiomas diferentes em diretórios com o WPML e seu site tem um URL de página como http://mysite.com/es/pagina-de-muestra/
- Agora mude seu formato de URL para Um domínio diferente por idioma, o URL acima agora é http://misitio.es/pagina-de-muestra/
- Abra diretamente http://mysite.com/es/pagina-de-muestra/
O resultado é um aviso 404 do servidor.
* Nota – O plugin WPML Links Adesivos evita uma situação semelhante, mas não igual – mas neste caso, como você está usando o URL diretamente, ele não vai ajudar
Solução alternativa
Isso não é um bug, mas há uma maneira personalizada de corrigi-lo modificando o arquivo .htaccess do site. Não podemos ajudá-lo com isso, pois depende da sua configuração e é um trabalho personalizado avançado, mas podemos fornecer um exemplo.
Para o cenário anterior, você deve colocar um código semelhante logo acima das regras do WordPress. Bem no topo do .htaccess será suficiente:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^es(.*)$ http://misitio.es$1 [L,R=301]
Todas as solicitações para http://mysite.com/es/pagina-de-muestra/ acabarão em http://misitio.es/pagina-de-muestra/ agora.
Por favor, lembre-se de que:
- Isso funciona apenas no Apache com o mod-rewrite ativado
- Existem vários recursos sobre isso, por exemplo, este blog.
Por enquanto, é importante que você saiba que o comportamento esperado ao alterar o formato de URL é que, se você tentar acessar o domínio antigo diretamente (pela barra de endereços), você receberá um redirecionamento 301 para o idioma padrão principal