Ванильные Форумы sitemapindex.xml файл недоступен с помощью nginx

#nginx #vanilla-forums

#nginx #ваниль-форумы #ванильный-форумы

Вопрос:

Мой форум установлен по URL-адресу: example.com/forums

Я использовал nginx и Vanilla для «приукрашивания» URL-адресов. Я установил

/forum/conf/config.php, “RewriteUrls” to “True”.

и в моем nginx.conf:

 location /forums {
    index index.php index.htm index.html;
    location ~* ^. .(jpg|jpeg|gif|css|png|js|ico|xml)$ {
        access_log off;
        log_not_found off;
        expires 30d;
    }

    try_files $uri $uri/ @forums;
}

location @forums {
    rewrite ^/forums(. )$ /forums/index.php?p=$1 last;
}
  

Проблема в том, что я установил плагин sitemap от Vanilla Forums.

и результирующая карта сайта должна быть расположена по адресу

example.com/forums/sitemapindex.xml

Но когда я перехожу туда, nginx выдает мне 404.

Как мне решить эту проблему?

Ответ №1:

Проблема в том, что URI /forums/sitemapindex.xml обрабатывается location ~* ^. .(jpg|jpeg|gif|css|png|js|ico|xml)$ блоком и не пересылается /forums/index.php .

Если вы не обслуживаете статические .xml файлы, вы можете просто удалить |xml термин из регулярного выражения.

В противном случае вам нужно будет сделать этот URI особым случаем, например:

 location = /forums/sitemapindex.xml {
    rewrite ^ /forums/index.php?p=/sitemapindex.xml last;
}
  

Комментарии:

1. Я был неправильно сфокусирован на перезаписи. Спасибо! Это решило проблему.