0

好吧,我想在我的服务器上有一个重定向脚本。

我希望它获取 URL 之后的文本,并将其重定向到网站。

我现在拥有的看起来像这样:

<?php

$url = $_GET['url'];
header("Location: http://youtube.com/watch?v=".$url);
?>

这使得 URL 看起来像:http ://mywebsite.com/?url=YOUTUBE代码在这里

但是,我不希望它看起来像这样,我希望 URL 看起来像这样: http: //mywebsite.com/YOUTUBE CODE HERE,这会将用户重定向到 YouTube 视频。

谢谢

4

4 回答 4

1

为此,您需要在 apache 上使用 .htaccess 和 mod_rewrite 或类似技术。

基本示例:

/.ht 访问:

RewriteEngine on 
RewriteRule ^v/(.*)$ v/index.php?url=$1 [L]

/v/index.php:

<?php 
  $url = $_GET['url'];
  header("Location: http://youtube.com/watch?v=" . $url);
?>
于 2012-09-29T23:52:50.120 回答
0

查看 URL 重写。这是关于如何在 Apache 服务器上执行此操作的教程:http: //coding.smashingmagazine.com/2011/11/02/introduction-to-url-rewriting/

于 2012-09-29T23:49:46.800 回答
0

使用 PHP 本身可以通过这种方式:

http://www.mywebsite.com/your-php-file.php ?{YOUTUBECODE}

<?php
foreach ($_GET as $tmp=>$null) {
  $redirect = $tmp;
  break;
}

header("Location: http://www.youtube.com/watch?v=$redirect");
于 2012-09-29T23:53:58.997 回答
0

如果您不想将mod_rewrite用于如此简单的任务,则更快的解决方案是

$url = $_SERVER['REQUEST_URI'];

只需从不需要的内容中删除 URL。

于 2012-09-29T23:56:09.550 回答