Это было довольно забавно думать.Ранее я только что удостоверился, что заблокировал каталоги или удостоверился, что у меня нет файлов, к которым я не хочу обращаться в моем корне документа.
Я думаю, что нашел способ сделать это.На самом деле он не дает 404 или 403 для других файлов, он просто переписывает все, кроме указанных каталогов, в /index.php.
Вот конфигурация, с которой я тестировал:
server {
listen 80;
listen your.domain.name:80;
server_name your.domain.name;
root /var/www/vhost/testing;
server_tokens off;
location ~ ^/(images|css|js)/.* {
expires max;
}
location / {
index index.php;
rewrite ^(.*)$ /index.php$1 last;
}
location ~ ^/index.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_INFO $fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
Таким образом, все в / images, / css или / js будет просто загружаться, но все остальное перезаписывается в индексный файл.
Имейте в виду, что любые файлы, не находящиеся в этих 3 папках, будут полностью пропущены.