1

我想将我的旧域重定向到新域。我的网站有两个版本 - 波兰语和英语。我拥有的域名是:live-dent.pl、live-dent.com、live-dent.com.pl 和 liveent.pl。我想重定向:

  • (www.)live-dent.pl/index.php、(www.)live-dent.com/index.php、(www.)live-dent.com.pl/index.php 和 liveent.pl/index。 php 到 www.livedent.pl (没有破折号),
  • (www.)live-dent.pl/index_en.php、(www.)live-dent.com/index_en.php、(www.)live-dent.com.pl/index_en.php 和 liveent.pl/index_en。 php 到 www.live-dent.com(带破折号)。

为此,我想将 404 错误重定向到自定义页面。此文件的波兰版本的路径是:

  • www.livedent.pl/404.php,和
  • www.live-dent.com/404_en.php 英文版(这个文件现在不存在)。

我现在的代码(感谢@anubhava)是:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index_en\.php [NC]
RewriteRule ^ http://www.live-dent.com/ [R=301,L,NC]

RewriteCond %{THE_REQUEST} ^[A-Z]{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]

规则 ErrorDocument 404 /404.php 不起作用。

4

1 回答 1

1

假设所有这些域共享相同的文档根:

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]
于 2013-10-24T16:13:07.747 回答