Как инвертировать этот Nginx, переписывают правило?

У нас есть много старого Профиля Шлюза 4 с и Профиль 5 с (которые являются едиными моделями). Они имеют серьезные проблемы с мониторами и являются чрезвычайно медленными для того, чтобы, предположительно, быть 3,4 ГГц. Подсветки в мониторах часто сжигают, и части трудно найти. Лично, я голосовал бы против все-в.

0
задан 11 April 2012 в 16:43
2 ответа

Используйте пару блоков Location. Что-то вроде:

location ~ *.php$ { }

location / {
  rewrite ^(.*)$ ./index.php last;
}

Первый должен перехватить все файлы, заканчивающиеся на .php, и просто получить к ним доступ. Второй перехватит все остальное и перепишет в ./index.php.

1
ответ дан 5 December 2019 в 16:25

Это было правильное решение:

# Make sure to set this as your actual server WWW root
root html;

# Index file
index index.php;

# Rewrite that directs everything, except PHP to index file
# Make sure you place this before your "location ~ \.php$ {" for the server configuration.
location / {
    rewrite ^ ./index.php last;
}

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

В основном первое говорит, что все должно быть направлено на PHP, а второй блок местоположения - это ваша типичная директива PHP. Таким образом, как только произойдет первая перезапись, произойдет вторая (например, PHP).

-1
ответ дан 5 December 2019 в 16:25

Теги

Похожие вопросы