您好,欢迎访问一九零五行业门户网

用preg_match,截取网址,传递参数不成功怎么处理?

我想在一个网站调用另一个网站的数据,这样两个网站就可以调用同一个数据,都像
在本地调用的一样。
如:我的网站a和网站b
如果我输入:http://www.a.com/x.php/123/456.rar  
实际上调用的是:http://www.b.com/123/456.rar(真实的文件存放地址)  
下载的时候仍然显示是从www.a.com下载的。
我的x.php是这样的:
<?php header("content-type: text/html; charset=utf-8"); $server=$_server["request_uri"]; preg_match("/php\/([\s\s]+)\.rar/",$server,$url); $urlname=$url[1]; $songurl='http://www.b.com/'.$urlname.'/'; header("location:$songurl"); ?>
就是通过这段代码将第一个网址中的123传递给第二个网址。  
可我上面的代码并没有传递成功:  
我输入http://www.a.com/x.php/123/456.rar,显示第二网址是:
http://www.b.com。网址中并没有显示123.请问下我要做怎么的修改,才能让第二个网址得到传递的参数“123”和“456”的参数。
解决方案
1、首先确认下  
$_server[request_uri] 里面的内容是否是 x.php/123/456.rar  
2、正则其实改为  
preg_match(/php\/([\s\s]+\.rar)/,$server,$url);  
$urlname=$url[1];  
$songurl='http://www.b.com/'.$urlname; // 这样才能拼凑成一个http://www.b.com/123/456.rar后缀以rar结尾的链接
其它类似信息

推荐信息