重写URL,从子域到另一个子域

时间:2013-04-29 16:11:15

标签: php .htaccess stream

我试着找到一个很好的解决方案来隐藏真实的流媒体网址,即时尝试使用PHP,但是像这样的流有问题

http://site.com/player/stream.php?p=[file path]&f=filename.flv&t=<? echo md5(session_id().$_SERVER['REMOTE_ADDR'])?>

也许用htaccess重写url是更好的解决方案?像这样的东西

http://media.site.com/videos/0412/125843213/125843213.flv [org. file]

重写

http://s1.media.site.com/0412/125843213.flv

..任何想法如何制作这个?或者更好的回到PHP ...?

2 个答案:

答案 0 :(得分:1)

在根目录中的htaccess文件中,或者来自您的apache配置:

RewriteEngine On
RewriteBase /
RewriteRule ^videos/(\d+)/(\d+)/(\d+)\.flv$ http://s1.media.site.com/\1/\3.flv [R=301,L,QSA]

话虽如此,一旦你有重写,那么你想要隐藏的'真实网址'就会成为重写的网址。您将能够使用任一URL访问该文件。基本上,任何用户仍然可以访问其中一个访问该文件的URL,因此它不再安全。

此外,由于主机更改,您将向服务器发送2倍的请求。

使用重写的充分理由:

  • SEO
  • 单个入口点(如CakePHP,CodeIgniter等 - index.php)

答案 1 :(得分:0)

您的服务器上的另一个PHP脚本的iFrame会使用以下方式处理这些重定向:

header("Location: $php_url_var");
exit;

或Javascript window.location工作?

http://www.w3schools.com/js/js_window_location.asp

这似乎是您正在做的最简单的选择。如果你不熟悉,我可以提供一个例子。