#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. Я был неправильно сфокусирован на перезаписи. Спасибо! Это решило проблему.