我正在运行 Vanilla 论坛,2.1.10 版在我的服务器上运行良好,它同时使用了 Apache 和 Nginx。我正在尝试更新到 Vanilla 2.3,但我遇到了重写问题,最终在我的所有论坛页面上都找不到 404。
他们的自述文件指出:
首先,确认您的服务器已设置为处理重写。在 Apache 上,使用提供的 .htaccess 文件将完成此操作。在 nginx 和其他平台上需要额外的设置。
但是,它没有提供任何有关在 Nginx 中实际执行哪些操作以使其正常工作的详细信息。我在 Nginx vhost 文件中发现了一堆具有各种“修复”的论坛主题,但没有一个对我有用。最简单的版本是这样做:
location /forum
{
try_files $uri $uri/ @forum;
}
location @forum
{
rewrite ^/forum(.+)$ /forum/index.php?p=$1 last;
}
不过,这对我们也不起作用。我根本无法在 Vanilla 2.3 中得到除了 404 之外的任何东西。
如果我恢复我的 2.1.10 站点文件和数据库,一切正常,并且它已经在使用 URL 重写,所以 Nginx 配置似乎在该版本中与 htaccess 一起工作正常。
任何有关我如何使其工作或为什么重写在 Vanilla 2.3 中不起作用的信息将不胜感激。谢谢!