抓出微博二级域名绑定后的小虫子

        前面介绍了有关域名绑定重指向的两篇文章(通过HTTPD重写规则绑定子域名到子目录通过HTTPD重写规则实现地址跳转),但是在实际操作中,确实出现了一些小问题。在访问非第一页面的时候,会出现无法访问的情况。即点击首页下方的翻页链接会发现,链接链接到的是http://i.tedwch.net/i/?p=2这样的页面。但是,应该出现的是http://i.tedwch.net/?p=2,不应该有“i/”。于是开始修改httpd.ini文件,尝试了N次,均告失败。于是我开始寻找php代码,在web/i/class/下,有一个class-page.php的文件,其中定义了一个常量“$string”,该常量的数值为:$string = str_replace("index.php","",$_SERVER['PHP_SELF'])."?" 。我试图将等号后面的函数替换为i.tedwch.net,但是经过几次尝试均失败,于是开始着手查看str_replace函数。经过百度搜索,查到如下信息:

定义和用法

str_replace() 函数使用一个字符串替换字符串中的另一些字符。

语法

str_replace(find,replace,string,count)
参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。

提示和注释

注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。

注释:该函数是二进制安全的。

例子

例子 1

<?php
echo str_replace("world","John","Hello world!");
?>

输出:

Hello John!

        同时,我又了解到:PHP里$_SERVER['HTTP_HOST']和$_SERVER['PHP_SELF']区别:假如命令行的地址是:http://www.baidu.com/index.php 那么:$_SERVER['HTTP_HOST']=='www.baidu.com',而$_SERVER['PHP_SELF']=='/index.php,一个是主机地址,一个是脚本文件的绝对路径。

于是,我将原值修改为: $string = str_replace("i.tedwch.net","",$_SERVER['HTTP_HOST'])."?"

测试通过!

Have Fun!

凡在文中已注明“转载”或作者信息的文章均来自网络或媒介,除此以外,其他文章均系原创,共享方式及版权声明在网站页脚。

[ratings]

0

扫描到手机上阅读:

QR:  抓出微博二级域名绑定后的小虫子