Nginx симулирует многовидовые изображения в глубоких каталогах

Я новичок в nginx, и я пытаюсь настроить nginx для перезаписи глубоких каталогов в php с именем первого каталога в URL. Например:

http://domain.com/news/search/band/ -> news.php
http://domain.com/article/blue/300/?arg=10 -> article.php?arg=10
http://domain.com/xxx/yyy/zzz/ -> xxx.php

Я попытался с некоторыми регулярными выражениями и с:

try_files $uri $uri/ @extensionless-php /index.php?$args =404;

Но у меня не было успеха; кто-нибудь может мне помочь? Спасибо

1 ответ

Отвечая себе:

Во многих установках apache включены множественные просмотры. Вы можете сделать это снова с помощью директивы try_files:

location ~ ^(/.+)/ {
    try_files $uri $1?$args $1.php?$args;
}

Хотя он не совсем делает то, что делают Multiviews в Apache (например, делает возможным опустить расширение файла), в конфигурациях PHP это в 9 раз из десяти, вам нужно вышеуказанное поведение, позволяя файлу PHP обрабатывать все запросы, содержащие имя файла и некоторые косые черты добавлены.

Другие вопросы по тегам