Как в nginx перенаправить запрос?

lutskboy
На сайте с 22.11.2013
Offline
172
1008

Здравствуйте

мне нужно чтоб по адресу

/madonna/file.mp3 или

/timati/file.mp3 или

/что то/file.mp3

отображалось то что в music.php который лежит в корне сайта

то есть перенаправить запрос с /что то/file.mp3 на music.php

в конце может быть get параметр

/что то/file.mp3?time=0987

W
На сайте с 11.03.2017
Offline
0
#1

Стоит nginx и php-fpm?

Joker-jar
На сайте с 26.08.2010
Offline
154
#2

Имхо, самый лучший вариант евер:

        location = /index.php {
include fastcgi.conf;
fastcgi_read_timeout 180;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

location ~ \.php$ {
deny all;
}

location / {

if ( -f $request_filename ) {
access_log off;
expires 30d;
break;
}

rewrite ^(.*)$ /index.php last;

}

Т.е. запрещаем прямое обращение к php-скриптам (ведь у нас ЧПУ, верно?). Если файл существует, отдаем его как статику, иначе заворачиваем запрос в точку входа index.php. Далее весь роутинг происходит уже в PHP.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий