我已将所有博客帖子从其他CMS导入到本地WordPress设置,以便在上线之前对其进行测试。以下是包含旧CMS的帖子的XML文件的布局:
<PublishingArticles>
<ID></ID>
<CategoryID></CategoryID>
<AllowComments></AllowComments>
<AllowPingback></AllowPingback>
<Body></Body>
<Categories></Categories>
<ContentFormat></ContentFormat>
<IsAppoved></IsAppoved>
<IsPrivate></IsPrivate>
<IsPublished></IsPublished>
<Language></Language>
<LastModified></LastModified>
<ParentID></ParentID>
<PermaLink>/home/year/month/day/id/blog-post-name.html</PermaLink>
<Pos></Pos>
<Posted></Posted>
<Ratings></Ratings>
<Slug></Slug>
<Title></Title>
<TotalReads></TotalReads>
<TotalComments></TotalComments>
<TotalVotes></TotalVotes>
<UserName></UserName>
<Version></Version>
</PublishingArticles>
到目前为止我没有问题导入帖子,所以我的下一步是确保旧网址重定向到新网址。
我使用WP All Import导入帖子,但没有选项保存永久链接以进行重定向。我现在已经安装了Redirection插件,但设置似乎没有按照我的意愿去做。
我想将所有旧永久链接重定向到新位置。有没有人对如何解决这个问题有任何想法?我已经尝试过重定向,但我不确定这是否是正确的方法。
我目前的想法是,我应该从XML文件中提取所有永久链接,并告诉Redirection插件应用这些,因为ID也将从XML文件导入并在导入到WordPress时使用。我不知道如何大规模地做到这一点,但是有1700个帖子。
答案 0 :(得分:0)
有多种方法可以做到这一点:
Settings > Permalinks
,在WordPress中构建类似于之前CMS设置的网址。这样,WordPress会自动生成类似于旧网址的新网址,您甚至不需要进行重定向。旧域名网址: http://old-domain.com/home/year/month/day/id/blog-post-name.html
新域名网址: http://new-domain.com/home/year/month/day/id/blog-post-name.html
将此添加到.htaccess文件中,将所有旧网址重定向到新网址:
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirects Entire Old Domain URLs to New Domain Unchanged
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR]
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L]
</IfModule>