找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1440|回复: 0

[Wordpress] .htaccess实现从Zblog跳转到wordpress

[复制链接]
发表于 2011-8-21 11:17:37 | 显示全部楼层 |阅读模式
本帖最后由 小马哥 于 2011-8-21 11:19 编辑

Linux空间的网站可以通过.htaccess做301跳转,这个大家都很清楚。

如果能对.htaccess的规则非常了解的话,那么使用起来肯定得心应手。但是如果不熟悉的话,只能做到只是更换域名不更换文件路径的跳转。比如从a域名跳转到b域名,只能做到类似a域名/123.html到b域名/123.html。

但是如果从zblog迁移到wordpress博客程序,那么就需要比如从类似于http://blog.cocold.com/post/25.html 跳转到http://blog.icoa.cn/25.html和从http://blog.cocold.com/catalog.asp?tags=301 跳转到http://blog.icoa.cn/tag/301等,这种更换了域名并更换了博客平台的情况来说就无能为力了。

安装了Wordpress的朋友都知道,Wordpress支持URL静态化。实现的方法就是通过在网站根目录自动创建一个.htaccess的文件,实现所有的url都指向首页index.php。然后在通过首页PHP代码的解析来显示不同的内容。

于是我将blog.cocold.com指向一个linux主机,然后在网站根目录创建.htaccess,把Wordpress创建的.htaccess内容复制出来放进去:
  1.     # BEGIN WordPress

  2.     RewriteEngine On

  3.     RewriteBase /

  4.     RewriteRule ^index\.php$ - [L]

  5.     RewriteCond %{REQUEST_FILENAME} !-f

  6.     RewriteCond %{REQUEST_FILENAME} !-d

  7.     RewriteRule ./index.php [L]

  8.     # END WordPress
复制代码
然后新建一个index.php放到根目录下,index.php的内容如下:
  1.     $pageurl=str_replace("/post", "", $_SERVER[REQUEST_URI]);

  2.     $pageurl=str_replace("/catalog.asp?tags=","/tag/", $pageurl);

  3.     $pageurl=str_replace("&page=", "/page/",$pageurl);

  4.     $pageurl=str_replace("/catalog.asp?date=","/date/", $pageurl);

  5.     $pageurl=str_replace("-","/",$pageurl);

  6.     Header("HTTP/1.1 301 Moved Permanently");

  7.     header("location: http://blog.icoa.cn/".$pageurl);

  8.     ?>
复制代码
这样就可以实现下面的跳转:

http://blog.cocold.com/post/25.html 跳转到 http://blog.icoa.cn/25.html

http://blog.cocold.com/catalog.asp?tags=301 跳转到 http://blog.icoa.cn/tag/301

http://blog.cocold.com/catalog.asp?date=2011-5 跳转到 http://blog.icoa.cn/date/2011/05

……

如果还有其他路径依然可以写进去。

完美的实现了从Zblog跳转到wordpress。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|王牌互联

GMT+8, 2024-12-21 08:04 , Processed in 0.030419 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表