nginx и codeigniter (указание серверу направлять весь трафик через index.php?) - PullRequest
2 голосов
/ 16 сентября 2010

По сути, htaccess, который я использую с apache, говорит что-то вроде «если запрошенный файл или каталог не существует, направьте запрос через index.php»

Как именно это можно сделать с помощью nginx?

Таким образом, если запрашивается таблица стилей, она подается. Но если URL-адрес не относится к файлу на диске, он должен работать с фреймворком.

1 Ответ

2 голосов
/ 16 сентября 2010

То, как я это делаю, - игнорировать некоторые расширения ...

Конфигурация ниже запускает все, кроме gif / jpg и т. Д. Через modify.php

    location ~* \.(gif|jpg|jpeg|png|js|css|pdf)$ {
              root   /home/site/public_html;
            expires 365d;

    }

    location / {
        root   /home/site/public_html;
        index  index.php index.html index.htm;
        rewrite ^/(.*) /modify.php?file=$1;
            expires 5m;
    }

Вы также можете проверить наличие файла с помощью -f (хотя я предпочитаю избегать дополнительного вызова статистики). Пример ниже передает запросы на отсутствующие файлы через прокси:

if (!-f $request_filename) {
  break;
  proxy_pass  http://127.0.0.1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...