.htaccess错误地重定向到不存在的站点
我有两个域名。其中一个包含拉丁字符,因此是IDN url。我想要的是将常规域重定向到IDN域,并从两个域名中删除.htaccess错误地重定向到不存在的站点,.htaccess,redirect,url-redirection,http-redirect,.htaccess,Redirect,Url Redirection,Http Redirect,我有两个域名。其中一个包含拉丁字符,因此是IDN url。我想要的是将常规域重定向到IDN域,并从两个域名中删除www前缀 我的.htaccess文件如下所示: Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^regularurl\.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^www\.regularurl\.com$ [NC,OR] RewriteCond %{HTTP_H
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
,但在任何情况下(无论我重定向的url是从哪个url,有无www)都会在末尾附加www
,因此它变成这样:xn--idnurl ujb.com/www
。这显然不是我想要的,因为那个url不存在,并且重定向到404站点。我不明白为什么会发生这种情况——我也尝试过许多不同的代码变体。我过去成功地做了一些.htaccess
重定向,但它们不是IDN域名-这与此有关系吗?我做错了什么
另外,如果我能做些什么使代码更简单或更具动态性,请告诉我。这些规则不会导致它将www添加到末尾。如果这是htaccess文件中的全部内容,请尝试清除浏览器缓存,并在另一个浏览器中尝试。@PanamaJack感谢您确认代码中没有错误。但是请你自己试试。真正的url是,应该重定向到østlandstakst.no(IDN:xn--stlandstakst ujb.no)。明白我的意思吗?也许这与服务器、主机或其他东西有关?我不知道。我想是你的主人的问题。您的文档是否为root
www
?您可能需要检查vhost设置。是的,一定是这样,谢谢!文档根目录是www
,但.htaccess
文件位于外部,与www
文件夹处于同一级别。我不知道是否可以控制文档根位置,因为这是一个外部主机。你知道我能做什么吗?如果你能访问www,并且你的文件在www中。将你的.htaccess移到www中。那是它应该在的地方,在文件所在的文档根目录中。这些规则不会导致它将www添加到最后。如果这是htaccess文件中的全部内容,请尝试清除浏览器缓存,并在另一个浏览器中尝试。@PanamaJack感谢您确认代码中没有错误。但是请你自己试试。真正的url是,应该重定向到østlandstakst.no(IDN:xn--stlandstakst ujb.no)。明白我的意思吗?也许这与服务器、主机或其他东西有关?我不知道。我想是你的主人的问题。您的文档是否为rootwww
?您可能需要检查vhost设置。是的,一定是这样,谢谢!文档根目录是www
,但.htaccess
文件位于外部,与www
文件夹处于同一级别。我不知道是否可以控制文档根位置,因为这是一个外部主机。你知道我能做什么吗?如果你能访问www,并且你的文件在www中。将你的.htaccess移到www中。那是它应该在的地方,在文件根目录中。