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 обрабатывать все запросы, содержащие имя файла и некоторые косые черты добавлены.