• A Script Pro nginx URL重写规则无法播放MP4解决方法


    I am using nginx and I have already add the line

        location /file/ {
            rewrite ^/file/([0-9]+)/([0-9]+)/([^/]*)/([0-9]+)/(.*)$ /file.php?id=$1&server=$2&hash=$3&expire=$4&file=$5 last;
        }

    in the conf file of the domain.

    But the videos do not play.

    I have try copy the parameters from the link to something like

    http://www.mydomain.com/file.php?id=1&server=0&hash=796609733f08c4bb8b89&expire=1464380369&file=mp4/1.mp4

    and I can see the mp4 file playing when I put the url directly on the browser.

    Yet it will return 403 if I put the follow directly on the browser.

    http://www.mydomain.com/file/1/0/796609733f08c4bb8b89/1464380369/mp4/1.mp4
     

    So I suppose it is the problem of rewrite but I am not be able to figure out the causes.

    How can I fix this problem?

    OK, eventually I have figured it out.

    we have to use

        location ^~ /file/ {
            rewrite ^/file/([0-9]+)/([0-9]+)/([^/]*)/([0-9]+)/(.*)$ /file.php?id=$1&server=$2&hash=$3&expire=$4&file=$5 last;
        }

    instead of

        location /file/ {...........}
    

    otherwise it will keep searching for expressions and

    location ~ .mp4 {................}

    which appears later will override the search for /file/, because apparently there will be a ".mp4" at the end of /file/ url.

    I suggest symtab to change the instruction in the script zip file.

     http://forum.adultscriptpro.com/viewtopic.php?id=3627
  • 相关阅读:
    【项目】项目41
    【项目】项目40
    【项目】项目39
    【项目】项目38
    【项目】项目37
    15-155. Min Stack
    14-160. Intersection of Two Linked Lists
    13-169. Majority Element
    12-206. Reverse Linked List
    11-215. Kth Largest Element in an Array
  • 原文地址:https://www.cnblogs.com/94YY/p/5840104.html
Copyright © 2020-2023  润新知