重定向整个域

时间:2012-11-06 16:44:48

标签: .htaccess redirect dns subdomain

是否可以将整个域重定向到另一个域?

我希望它以这种方式重定向:

domain.com/something --> www.domain.eu/something
sub.domain.com/folder/file.type --> sub.domain.eu/folder/file.type
super.mega.sub.domain.com --> super.mega.sub.domain.eu

(对于任何子域和/.)

之后的任何子域

我只能访问com域。

到目前为止,我已经为.htaccess文件发明了这段代码:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule (.*)$ http://www.domain.eu/$1 [R=permanent,L]

但它的工作方式如下:

sub.domain.com/something --> www.domain.eu/sub/something

所以这是错的。 有什么帮助吗? 非常感谢。

3 个答案:

答案 0 :(得分:1)

试试这个而不是你拥有的东西:

RewriteEngine On

# for main domain
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.eu/$1 [L,R=301]

# for all subdomains
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://%1.domain.eu/$1 [L,R=301]

答案 1 :(得分:0)

好的,我假设您要将整个域名重定向到另一个域名,而不仅仅是一个页面。

所以只需在htaccess文件中写下以下行

即可

RewriteEngine On

RewriteCond%{HTTP_HOST} ^ yourolddomain.com $ [OR]

RewriteCond%{HTTP_HOST} ^ www.yourolddomain.com $

RewriteRule(。*)$ http://www.yournewdomain.com/ $ 1 [R = 301,L]

答案 2 :(得分:0)

我通常只创建一个index.html文件并使用元标记重定向:

<meta http-equiv="refresh" content="0;URL=http://www.newdomain.ext">
<meta http-equiv="refresh" content="0;URL=http://subdomain.newdomain.ext">