.htaccess将任何URL从一个域redirect到另一个域上的一个固定的URL

任何人都可以帮我一个.htaccess我试图创build?

我想将foo.comredirectfoo.ca。

任何来自foo.com的 URL(有或没有www,在http或https下)都将被redirect到www.foo.ca。

一些例子:

  • http://www.foo.com/ – > http://www.foo.ca/(http + www)
  • https://www.foo.com/ – > http://www.foo.ca/(https + www)
  • http://foo.com/bar/ – > http://www.foo.ca/(http + some url)
  • https://foo.com/bar/ – > http://www.foo.ca/(https + some url)
  • http://www.foo.com/bar/ – > http://www.foo.ca/(http + www + some url)
  • https://www.foo.com/bar – > http://www.foo.ca/(https + www + some url)

非常感谢!

RewriteEngine On RewriteCond %{HTTP_HOST} !^www.foo.ca$ RewriteRule (.*) http://www.foo.ca/ [R=301] 

即使我不是专家,我已经使用.htaccess创build了functionredirect。 无论如何,我认为你需要在.com版本的根文件夹中redirect(从.com到.ca),就像这样

 Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://www.foo.ca/$1 [R=301,L] 

在我看来,Jeff Clark先前发布的build议会将非wwwurl重写为www包含的.ca版本的url,并且只能在.ca版本所在的根文件夹中运行。

此外,指定301可以确保search引擎将任何优点转移到新域。