我有两个域名 . 其中一个包含拉丁字符,因此是IDN网址 . 我想要的是将常规域重定向到IDN域,并从两个域名中删除 www 前缀 .

我的 .htaccess 文件如下所示:

Options +FollowSymLinks

RewriteEngine on
RewriteCond %{HTTP_HOST} ^regularurl\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.regularurl\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.xn--idnurl-ujb\.com$ [NC]
RewriteRule ^(.*)$ http://xn--idnurl-ujb.com/$1 [R=301,L]

问题是 - 它正确地重定向到 xn--idnurl-ujb.com ,但在任何情况下(无论我重定向的是什么网址 - 有或没有www)都将 www 追加到最后,所以它变成这样: xn--idnurl-ujb.com/www . 这显然不是我想要的,因为该URL不存在并重定向到404站点 . 我也可以尝试许多不同的代码变体 . 我过去成功完成了一些 .htaccess 重定向,但它们不是IDN域名 - 这与它有什么关系吗?我究竟做错了什么?

另外,如果我能做些什么来使代码更容易或更有活力,请告诉我 .