Wordpress - 将网站移动到另一个域,301重定向

时间:2016-08-06 23:07:05

标签: wordpress .htaccess redirect mod-rewrite

我将wordpress网站移动到另一个域名。我想保留谷歌链接,并帮助它重新索引新网站。

我做了301重定向,但它只适用于根导演。当有人前往http://oldsite.com/directory/post-name-here/时,我希望将其转发至http://newsite.com/directory2/post-name-here/。这两个网站都在子目录中。有没有办法用PHP做到这一点?或者我需要一个mod重写?

最终对我有用的是:

我的oldsite文件结构如下:

/public_html/
     index.php
     /development/
         .htaccess

总结一下,我想将进入开发目录的所有内容转发到新网站。这是development目录中.htaccess的代码。

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldsite.org$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.org$
RewriteRule (.*)$ http://newsite.com/newdirectory/$1   [R=301,L]

非常感谢彼得

3 个答案:

答案 0 :(得分:1)

您必须将此规则添加到.htaccess文件中,如下所示。

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^OLDDOMAIN\.com$ [NC]
RewriteRule ^(.*)$ http://NEWDOMAIN.com [R=301,L]

答案 1 :(得分:1)

这一直对我有用:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]

答案 2 :(得分:0)

如果目录下只有一个链接。您可以使用此代码将index.php文件添加到http://oldsite.com/directory/

header("location: http://newsite.com/directory2/post-name-here/", true, 301);

如果目录下有许多链接,请使用以下代码

if($_SERVER["REQUEST_URI"]=="/directory/post-name-here/"){
    header("location: http://newsite.com/directory2/post-name-here/", true, 301);
}

在这里,我们检查文件名是否是旧链接,然后重定向到新域。