Назад | Перейти на главную страницу

Правило перезаписи nginx wordpress конфликтует с модулем stub_status

У меня возникла проблема, когда я пытался включить модуль stub_status на моем сайте на WordPress. Ниже представлена ​​моя конфигурация в nginx.conf.

location /status {
stub_status on;
access_log off;
}
if (!-e $request_filename){
rewrite ^(.+)$ /index.php?q=$1 last;
} 

Моя проблема в том, что я могу получить доступ к странице состояния, если удалю правило перезаписи wordpress. если существует правило перезаписи, страница состояния не работает. кто-нибудь знает как исправить эту проблему?

На самом деле ваша перезапись принадлежит server раздел, поэтому нет шансов на location /status. Итак, все, что вам нужно, это поместить ваше условие перезаписи в другое location. P.S. Не уверен, что это рабочий конфиг, но думаю, что идея реализована.

server {
  listen 80;
  server_name myserver.com;

  location /status {
    stub_status on;
    access_log off;
  }

  location ~* \.(ico|jpe?g|gif|bmp|png|js|css)$ {
    access_log off;
    expires max;
  }

  location ~* (!\.(ico|jpg|jpeg|gif|bmp|png|css|js))$ {
    if (!-e $request_filename) {
      rewrite ^/$ /index.php last;
    }
  }
}