2013-08-23 59 views
1

我想更改我的网站的域名。如何通过.htaccess重定向URL?

我想的.htaccess重定向URL到新的领域以这样的方式:

当用户在这些网址点击喜欢http://old-domain.com/my-site-link/它重定向到http://new-domain.com/my-site-link/

而且当用户在像URL点击http://old-domain.com/my-site-link.php它重定向到http://new-domain.com/my-site-link.php

新域用于老域不是。

这怎么可能?什么将代码给.htaccess?

回答

0

如果两个域都在相同的帐户和相同的根文件夹,您可以使用此:如果域名是在任不同的帐户或托管服务

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.com$ [NC] 
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,QSA,L] 

,你可以简单的添加此规则,以旧域.htaccess

RewriteEngine On 
RewriteBase/
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,QSA,L] 
+0

使用新域名,旧域名不使用。 –

+0

@SanamMirza关心澄清?如果它没有使用你想如何重定向它?它需要托管或停放在允许你使用'.htaccess'的地方。 – Prix

+0

我已更改域名。网址仍旧以旧网域为索引。这就是为什么我想要的代码 –

0

在旧服务器中添加以下内容到.htaccess。你不应该需要[QSA],因为你不写一个新的查询。 [QSA]默认启用。

RewriteEngine On 
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L] 

如果你承载相同的虚拟主机意味着旧的站点下这两个网站是不是新网站,您将需要一个条件来检查旧网站的域名的别名。

RewriteEngine On 
RewriteCond %{HTTP_HOST} old-domain.com$ 
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L] 

如果你不再打算使用旧域,你还是应该把它注册(与您的注册商),但将其设置为VirtualHost,你可以直接把上面的指令到一个服务器配置文件中像httpd.confvhosts.confconf.d目录文件(像这样)下。如果你不管理你的服务器,你通常可以在主机的用户界面的后端或提交支持票(取决于主机上)做到这一点。

<VirtualHost *:80> 
    DocumentRoot /path/old-domain.com 
    serverName old-domain.com 
    <Directory /path/old-domain.com> 
    RewriteEngine On 
    RewriteRule ^/?(.*)$ http://new-domain.com/$1 [R=301,L] 
    </Directory> 
</VirtualHost> 
+0

使用新域名,旧域名不使用。 –