Nginx перенаправляет определенную страницу с данными на другую страницу с использованием данных

Я пробовал несколько разных вещей, которые нашел на этом сайте, но, похоже, ничего не работает

я собираюсь перенаправить с помощью nginx из одного медиафайла в другой, используя данные arument для создания другого URL-адреса

, мой первый URL-адрес выглядит так

http://domain:port/video/media.php?mediaid=00000

, мне нужно использовать этот URL-адрес для перенаправления на

http://domain:port/mediaid/dash/playlist.mpd

, это последнее, что я пробовал, и это вроде работает, но все еще содержит / video / перед желаемым URL-адресом

    if ($arg_mediaid) {
        rewrite ^/video/(.*) ^/$arg_channelId/dash/playlist.mpd;
    }
0
задан 17 March 2021 в 19:07
2 ответа

Это потому, что вы не удаляете / видео из URL. Вы просто сопоставляете его. Либо обновите существующее регулярное выражение, либо попробуйте добавить это правило перезаписи после текущего правила.

rewrite ^/video(/.*)$ $1

Это удаляет бит / video из пути и заменяет его тем, что идет после / video / , которое будет вашим, / $ arg_channelId / dash / playlist .mpd

0
ответ дан 24 April 2021 в 02:08

Вы можете попробовать следующий подход:

location /video {
    try_files /$arg_channelId/dash/playlist.mpd =404;
}

Лучше избегать if , потому что он имеет всевозможные побочные эффекты.

0
ответ дан 24 April 2021 в 02:08

Теги

Похожие вопросы