将URL重写为GET会中断HTML5视频

我有一个简单的网页,该网页的div托管html5视频。 播放的视频是在URL的GET中定义的,例如 example.com/v?v_id=test 会将test.mp4放入块中 为了使操作更简单,我希望能够输入example.com/v/test 因此,我已将此位置块放置在网站的Nginx conf中:

    location /v/ {
        rewrite  ^/v/(.*)$ /v?v_id=$1 last;
    }

最重要的是,我想要视频下方的下载按钮,该按钮将直接强制下载视频。因此,在上面的位置块下方,我有这个:

    location ~* /video/(.+\.mp4)$ {
        add_header Content-disposition "attachment; filename=$1";
    }

现在,当我直接进入example.com/v/test时,视频无法加载,警告我没有支持的格式和MIME类型 但是,如果我去example.com/v?v_id=test,一切都会正常进行。

这里可能是什么问题?

对GET进行一些验证后,这是我的视频HTML:

<div class="video-container">
    <video controls preload='auto'>
        <source src='video/<?php echo $v_id ?>.mp4' type='video/mp4'>
    </video>
    <a href="<?php echo("/video/".$v_id.".mp4") ?>"" class="download-btn">
        Download
    </a>
</div>

出于故障排除的考虑,$v_id已正确解析并以页面的HTML格式传递,看起来像<source src="video/GH5R2.mp4" type="video/mp4">,但仍拒绝加载。

wangxuyua 回答:将URL重写为GET会中断HTML5视频

发布它后,我很快意识到了我的问题,标记的src缺少/,使路径相对。我不知道我怎么想念它。我一定太专注于思考这是一个Nginx问题,而不是一个简单的HTML问题。

本文链接:https://www.f2er.com/3148216.html

大家都在问