ホームページ >バックエンド開発 >PHPチュートリアル >preg_match を使用して URL をインターセプトし、パラメータを渡すことができません。変更方法を教えてください。
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」を取得するには、どのような変更を行う必要があるか教えてください。