注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

@fc_lamp

关注Web应用解决方案MySql/PHP/Python一盏名为"飞川"的灯~

 
 
 

日志

 
 

简单模拟Sina微博短域名跳转  

2011-04-27 09:21:00|  分类: Web技术-应用研究 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

注:以下代码是在CI框架上搭建的

使用过sina微博的朋友,都知道它有一个短域名功能,即:

http://t.sina.cn/45hxcd

运行后会自动跳到相应的页面。这里做一个模拟的操作:

首先你需要一个域名,比如 http://my.www.com

然后需要一个处理短域名后面key值的操作的URL,比如:http://localhost:8080/site/tests/get_key/

那么如何在本地设置一个短域名呢?方法如下:

1  首先你得告诉brower不要去外网请求这个短域名,做法就是在window的C:\Windows\System32\drivers\etc

这个目录下的hosts文件里添加一行:

127.0.0.1my.www.com

2  然后,你让brower在本地找这个域名,那么你就得设置一个:我这里使用的是xampp集成开发环境,所以就在

D:\apache\conf\extra\httpd-vhosts.conf 文件里加入如代码:

<VirtualHost *:80>

    DocumentRoot "D:/xxx/test"

    ServerName my.www.com

</VirtualHost>

 

当然还得在httpd.conf里设置监听端口80等。

恩,处理key值的域名(localhost:8080)用相同的方法来实现,注意两个域名指向同一个网站根目录。

好了,我们再写处理key的方法:

class Tests extends CI_controller {

public function __construct()

{

parent::__construct ();

}

/**

* 实现Sina微博短域名跳转

*/

public function get_key($key='')

{

echo 'This is key:<br/>';

var_dump($key);

//其它操作

}

}

 

最后,使用.htaccess来实现重定向:

 

<IfModule mod_rewrite.c>

RewriteEngine On

#凡是www.com这个域名过来的,都转向到localhost:8080下的get_key中去处理

RewriteCond %{HTTP_HOST} ^my.www.com [NC]

RewriteRule ^(.*) http://localhost:8080/site/tests/get_key/$1 [L]

 

#以下实现去掉URL上的index.php的作用

RewriteCond $1 !^(index\.php|res|test\.php|robots\.txt)

RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>

 

另:对于apache重定向规则的说明可以google一下,或者参看这里:http://www.cnblogs.com/14shu/archive/2010/09/10/1863478.html

  评论这张
 
阅读(240)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017