首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对临时网址进行反向操作?

如何对临时网址进行反向操作?
EN

Stack Overflow用户
提问于 2022-05-29 05:20:28
回答 1查看 107关注 0票数 0

我有源url domain.ex/dir/video.mp4

我有临时的url domain.ex/vlink/temp.mp4,需要将它“连接”到源domain.ex/dir/video.mp4

同一领域。但是文件有不同的名字,video.mp4 != temp.mp4

我使用nginx提供源url。

代码语言:javascript
复制
location /dir/ {
    alias /media/videos/;
                }

我现在的urls.py

代码语言:javascript
复制
path('vlink/<str:temp>', views.vlink, name='vlink'),

view.py

代码语言:javascript
复制
def vlink(request, temp):
    # drop extension mp4
    s = temp.split('.')[0] 
    # I retrieve original file name
    vid = TmpUrl.objects.filter(tmp_url = s).values('orig').first()
    v = vid['orig']
    the_url = '/dir/'+v+'.mp4'    
    return redirect(the_url)

template.html

代码语言:javascript
复制
<video>
<source src="/vlink/{{vid}}.mp4" type="video/mp4">
</video>

我不需要简单的重定向。我要隐藏来源网址。

我需要的是:当用户单击play时,浏览器会显示tmp url和play vid,而不会重定向到源代码。

怎么做?

EN

回答 1

Stack Overflow用户

发布于 2022-05-29 07:06:07

最后,我找到了解决办法。这是Nginx +X在Django的内部重定向。

views.py

代码语言:javascript
复制
def vlink(request, temp):        
    s = temp.split('.')[0]
    vid = TmpUrl.objects.filter(tmp_url = s).values('orig').first()
    v = vid['orig']
    the_url = '/dir/'+v+'.mp4'        
    response = HttpResponse(status=200)
    response['Content-Type'] = 'video/mp4'
    response['X-Accel-Redirect'] = the_url
    return response

nginx.conf

代码语言:javascript
复制
location /dir/ {
 internal;
 alias /media/videos/;
          }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72421123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档