.htaccess跳转规则

 近日在godaddy购入flowersun.me域名,要跳转到花花博客,godaddy也附赠10G的免费空间,这样就方便我跳转了,跳转简单,用.htaccess就可以实现:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*) http://bde.me/$1 [R,L]
</IfModule>

后来想想,10G的免费空间,就放一个几KB的文件太浪费,咱不是图片相册不够存么,刚好放这了,还可以外链。
  放上去后,发现输入http://bde.me/img/bde.jpg都会跳转到http://要跳转的URL/img/bde.jpg,于是杯具了,直接404页面,因为那个地址压根没那文件啊……
  于是我搜了下.htaccess的跳转规则:
  单个文件

Redirect /old_dir/old_file.html http://bde.me/new_dir/new_file.html

 整个目录

Redirect /old_dir http://bde.me/new_dir

效果: 如同将目录移动位置一样

http://bde.me/old_dir -> http://bde.me/new_dir
http://bde.me/old_dir/dir1/test.html -> http://bde.me/new_dir/dir1/test.html

使用用户目录时Redirect不能转向的解决方法
  当你使用Apache默认的用户目录,如 http://bde.me/~windix,当你想转向 http://bde.me/~windix/jump时,你会发现下面这个Redirect不工作:

Redirect /jump http://www.google.com

正确的方法是改成

Redirect /~windix/jump http://www.google.com

如果某人访问 http://bde.me/page1.html,他将被跳转到(带有HTTP状态代码302)的http://bde.me/page2.html

Redirect page1.html page2.html

 以上跳转方式都是指某页面跳转到某URL或页面,可当人们输入http://flowersun.me并非输入某html,于是我想到了index.html,其实访问flowersun.me的时候就是访问根目录的index,我只要将规则写成当别人访问index.html时,即开始跳转到博客,当访问其他目录时,并不受此规则影响~于是放在其他目录的图片就可以正常访问,不会跳转了~

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index.html(.*)$ http://bde.me/$1 [L,R=301]
</IfModule>

 

posted @ 2013-11-20 12:52  撑着破伞去看雨  阅读(1800)  评论(0)    收藏  举报