nginx无法访问vanilla论坛sitemapindex.xml文件

时间:2016-10-07 21:24:43

标签: nginx vanilla-forums

我的论坛安装在网址:example.com/forums

我使用nginx和Vanilla来“美化”网址。我已经设置了

/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 plugin

并且生成的站点地图应该位于

example.com/forums/sitemapindex.xml

但是当我在那里导航时,nginx给了我一个404.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题是/forums/sitemapindex.xml块正在处理URI 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;
}