web-dev-qa-db-ja.com

Mod Rewriteの質問

書き換える方法はありますか

http://localhost/embed/player.swf?file=http://www.youtube.com/watch?v=7yKDhm4_-90

より小さな何かに?

またはこれを変更する方法はありますか

http://localhost/embed/script.php?id=7yKDhm4_-90

私に何ができる?

UPDATE

私はこのようなもので試しました:

header('Content-type: application/x-shockwave-flash');
header('Content-Length: ' . filesize($file));
header('Connection: close');
$video_id = $_REQUEST['id'];
$content = readfile("http://localhost/embed/player.swf?file=http://www.youtube.com/watch?v=$video_id");
echo $content;

しかし、それはほとんど動作しています。

私が間違っているのは何ですか?

2
m3tsys

Webサイトのルートディレクトリにある.htaccessファイル(存在しない場合は作成)で次のようなものを試してください。

RewriteRule ^embed/player.swf?file=([0-9a-zA-Z0-9]+) embed/player.swf?file=http://www.youtube.com/watch?v=$1 [L]
2
user6569

どちらの方法でも可能です。可能なPHPソリューションを投稿します。

include("player.swf?file=http://www.youtube.com/watch?v={$_GET['id']}");

これは非常に単純化されたソリューションなので、実稼働環境で使用する場合は、入力のフィルタリング、出力のエスケープ、および空のIDを処理する必要があります。

0
Jacob Hume