我拥有一个允许用户下载Youtube视频的网站。我需要 php 脚本来检测是否存在 youtube 网址,例如:
givemeyoutube.com 会将用户带到我的普通网站,但如果他们输入,
www.givemeyoutube.com/watch?v=OZLUa8JUR18
如何将它们带到我网站的索引并去除"watch?v=OZLUa8JUR18"并将其存储为变量?
更新:我该怎么做才能检查URL,如果它包含"watch?v=",然后重定向到另一个页面?
将preg_match与以下正则表达式一起使用
/('/watch'?v=)([a-zA-Z0-9_-]+)/
Preg 与 'b(?<=v.|/)[a-zA-Z0-9_-]{11,}'b
匹配为 RegExp
您可以使用
mod_rewrite
来正确处理请求,例如watch?V=123456
在.htaccess
文件中:
RewriteEngine On
RewriteBase /
RewriteRule ^watch index.php [QSA]
那么在index.php
:
if( isset( $_GET['v'] ) ) {
// access the v parameter with $_GET['v'];
}
我认为 url 重写更适合此任务,因为无论如何您都需要重写 url 以确保watch
打开实际的 php 页面。
我会使用类似的东西:
RewriteEngine On
RewriteBase /
RewriteRule ^watch.*$ /index.php?action=watch [QSA]
此规则将导致所有以 watch
开头的请求都路由到具有原始查询字符串(由于 [QSA]
)和值为 watch
的名为 action
的附加参数 index.php
的 。