Advanced htaccess – redirecionamento de domínio 301

Quero redirect meu domínio antigo para o novo. Eu tenho duas versões do meu site – polonês e inglês. Os domínios que tenho são: live-dent.pl, live-dent.com, live-dent.com.pl e livedent.pl. Eu quero redirect:

  • (www.) live-dent.pl/index.php, (www.) live-dent.com/index.php, (www.) live-dent.com.pl/index.php e livesent.pl/index. php para www.livedent.pl ( sem traço ),
  • (www.) live-dent.pl/index_en.php, (www.) live-dent.com/index_en.php, (www.) live-dent.com.pl/index_en.php e livedent.pl/index_pt. php para www.live-dent.com ( com traço ).

Para isso, eu quero redirect 404 erros para uma página personalizada. A versão Caminho para polir deste arquivo é:

  • www.livedent.pl/404.php, e
  • www.live-dent.com/404_en.php para versão em inglês (este arquivo não existe agora).

O código que eu tenho agora (graças a @anubhava) é:

RewriteEngine On RewriteCond %{THE_REQUEST} ^[AZ]{3,}\s/+index_en\.php [NC] RewriteRule ^ http://www.live-dent.com/ [R=301,L,NC] RewriteCond %{THE_REQUEST} ^[AZ]{3,}\s/+index\.php [NC] RewriteRule ^ / [R=301,L,NC] RewriteCond %{HTTP_HOST} live-dent\.pl$ [NC] RewriteRule ^ http://www.livedent.pl%{REQUEST_URI} [R=301,L] 

A regra ErrorDocument 404 / 404.php não funciona.

Supondo que todos esses domínios compartilhem a mesma raiz do documento:

 RewriteCond %{HTTP_HOST} ^(www\.)?live-dent\.(pl|com|com\.pl)$ [OR,NC] RewriteCond %{HTTP_HIST} ^livedent\.pl$ [NC] RewriteCond %{THE_REQUEST} \ /+index\.php RewriteRule ^ http://www.livedent.pl/ [L,R=301] RewriteCond %{HTTP_HOST} ^(www\.)?live-dent\.(pl|com|com\.pl)$ [OR,NC] RewriteCond %{HTTP_HIST} ^livedent\.pl$ [NC] RewriteCond %{THE_REQUEST} \ /+index_en\.php RewriteRule ^ http://www.live-dent.com/ [L,R=301]