.htaccess代码将旧博客网址重定向到新域名上的新博客网址

时间:2010-10-01 20:35:58

标签: wordpress .htaccess mod-rewrite redirect

我正在尝试使用htaccess文件将一个旧的wordpress博客重定向到一个新的后期博客,我正在使用下面的代码;问题是我无法将旧的个人博客帖子重定向到新的 - 他们在新域名上具有相同的名称结构(例如:olddomain.com/post-1现在是newdomain.com/post- 1),但如果我输入其中一个旧帖子,我会收到500错误。我的主页,类别和索引页面都是重定向的,以及旧的wordpress页面网址底部的301重定向。我做错了什么?

Options +FollowSymlinks  

<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^category/(.*)$ http://newdomain.com/tag/$1 [R=301,L]  
RewriteRule ^page/(.*)$ http://newdomain.com/\?page=$1 [R=301,L]  
RewriteRule . /index.php [L]  
RewriteCond %{HTTP_HOST} ^www.olddomain.com [nc,or]  
RewriteCond %{HTTP_HOST} ^olddomain.com [nc,or]  
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,nc]  
</IfModule>  

redirect 301 /page-1 http://newdomain.com/page-1  
redirect 301 /page-2 http://newdomain.com/page-2  
redirect 301 /page-3 http://newdomain.com/page-3  

3 个答案:

答案 0 :(得分:0)

你需要这样做:

RedirectPermanent / old_page http // www.newawesomesite.com / old_page

答案 1 :(得分:0)

我通过更换旧的个人页面重定向代码来实现它:
    重定向301 / page-1 http:// newdomain .com / page-1

有新的重写规则:
    RewriteRule ^ page-1 /?$ http:// newdomain .com / pages / page-1 [R = 301,L]

并将页面放在目录和网站范围规则之上。注意:您需要从我必须添加的新域网址中删除空格,因为网站上的新用户无法将网址添加到其帖子中。

答案 2 :(得分:0)

您应该将以下代码写入您的 .htaccess 文件中。 (这会自动将所有旧帖子 URL 从旧域重定向到确切的新域 URL):

RewriteEngine on
RewriteBase /
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]