htaccess 301实现网站改版URL平滑过渡
时间: 2009-06-28 - 分类: WEB学习日记 - 无评论当你看到这个网站博客的时候,博客的网址已经由 http://www.cybz.cn 变成 http://www.lincha.com了.
现在你输入网址 http://www.cybz.cn的话,他会自动转换成 http://blog.bombee.com.cn,因为我使用了301 Redirect(Permanent Redirect:永久性网址重定向).在没有使用 Redirect 的情况下,如果把网址改成 http://www.lincha.com 的话,那些从 http://www.cybz.cn 进来的人就只会看到”HTTP404找不到网页”,流失流量暂且不说,还很容易被Google和百度惩罚.出于SEO的友好度和网站更换后的一大堆问题,如何使得旧的网站平滑地过度到新网站就是一件非常之重要的事情.htaccess的强大会让你叹为观止的.
最简单快捷高效方法就是更改网站根目录的.htaccess,如果没有,就用记事本新增一个.注意:在windows主机下无法创建这个文件,但是可以复制和下载这样的文件.
————— 最重要的一点就是网站的服务器平台必须是 Apache—————
【情况一】
http://www.lincha.com/forum-2-1.html –> http://bbs.lincha.com/Chinese-Tea-2-1/
让 /forum-2-1.html链接重新连接到 /Chinese-Tea-2-1,其中的2就是discuz论坛的fid参数,如何把这个
参数传递到新的URL呢? 这就需要配合正则来实现了.
例如:http://www.lincha.com/forum-2-1.html 会被指向 http://bbs.lincha.com/Chinese-Tea-2-1/
在 .htaccess 中要这样写:
RewriteRule ^forum-(.*)-1.html$ Chinese-Tea-$1-1/ [R=301,L]
【情况二】
http://your_domain.com/wordpress –> http://your_domain.com
让连接到 /wordpress 的链接重新定位到 根目录,包含下层路径(如 /wordpress/xxx)
在 .htaccess 中要这么写
Redirect /wordpress http://your_domain.com
如果已经安装了 mod_rewrite 模块的话,也可以这样写
RewriteEngine on
RewriteRule ^wordpress(.*)$ $1 [R=301,L]
【情况三】
http://www.cybz.cn/ –> http://www.lincha.com/
让链接旧网址重新连接到新网址,前提你必须是就网址的拥有者
建议新旧网址采用相同的目录结构
把 .htaccess 放到就www.cybz.cn这个网站的根目录,然后要这么写:
RewriteEngine on
RewriteRule (.*) http://www.lincha.com/$1 [R=301,L]
【情况四】
http://www.lincha.com/ –> http://lincha.com/
统一你的网址不让www出现
由www.lincha.com进入的链接一律指向lincha.com
可以在 .htaccess中这么写
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.lincha\.com$ [NC]
RewriteRule ^(.*)$ http://lincha.com/$1 [R=301,L]
