ホームページ >バックエンド開発 >PHPチュートリアル >preg_match を使用して URL をインターセプトし、パラメータを渡すことができません。変更方法を教えてください。

preg_match を使用して URL をインターセプトし、パラメータを渡すことができません。変更方法を教えてください。

WBOY
WBOYオリジナル
2016-06-13 12:46:05944ブラウズ

preg_match を使用して URL をインターセプトし、パラメータを渡すことができません。どうすれば変更できますか?
1 つの Web サイトで別の Web サイトのデータを呼び出したいので、両方の Web サイトで同じデータを呼び出すことができます。両方とも

ローカル電話をかけるのと同じです。

例: 私のウェブサイト a とウェブサイト b

http://www.a.com/x.php/123/456.rar
と入力すると、 実際に呼び出されるのは次のとおりです: http://www.b.com/123/456.rar (実際のファイル保存アドレス)
ダウンロードしても、www.a.com からダウンロードされたことが表示されます。

私の x.php は次のようなものです:
header("content-Type: text/html; charset=Utf-8");
$SERVER=$_SERVER["REQUEST_URI"];
preg_match("/php/([sS] ).rar/",$SERVER,$url);
$urlname=$url[1];
$songurl='http://www.b.com/'.$urlname.'/';
header("location:$songurl");
?>

このコードを通じて、最初の URL の 123 が 2 番目の URL に渡されます。
しかし、上記のコードは正常に通過しませんでした:
http://www.a.com/x.php/123/456.rar と入力すると、表示された 2 番目の URL は次のとおりです:

http://www.b.com。 URL に「123」が表示されません。2 番目の URL に渡されたパラメータ「123」と「456」を取得するには、どのような変更を行う必要があるか教えてください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。