Правило перезаписи Nginx: проверка на несуществующие файлы и папки

Я пытаюсь настроить правила перезаписи nginx следующим образом:

Первоначальная структура:

домен.com/index.php?сайт=проект

Теперь я попытался замаскировать его с помощью механизма перезаписи nginx:

if (-f $request_filename) {
        break;
      }
      if (!-f $request_filename) {
        rewrite ^/(.+)$ /index.php?site=$1 last;
        break;
      }

Как запретить папки (вещи, оканчивающиеся косой чертой) и несуществующие файлы? я много читал о

try_files

но я не могу заставить его работать.

на данный момент у меня есть

    try_files $uri $uri/ @app;

а также

location @app {
rewrite ^/ /404.php last;
}

но это не сработает. Что я делаю не так?

Также: нужно ли мне изменять мой PHP-код? Или чистая перезапись подойдет?


person PengiunPillup    schedule 03.11.2009    source источник


Ответы (1)


Вы можете отключить автоиндекс, чтобы пользователи не могли просматривать папки. Я не знаю, что вы имеете в виду под «запретить несуществующие файлы». Посетитель просто получает 404.

person Frank    schedule 21.12.2009