使用 NGINX 重写规则将 vBulletin URL 重定向到 XenForo

Redirect vBulletin URLs to XenForo with NGINX rewrite rules

我想知道如何重写nginx url:

旧URL:http://www.webcheats.com.br/vbulletin/showthread.php?t=2175433

新URL:http://www.webcheats.com.br/threads/2175433/

谢谢

location = /vbulletin/showthread.php {
    return 301 /threads/$arg_t/;
}

如果您在 nginx 上使用 Xenforo 2,并且您之前已经从 vBulletin 迁移,则有一个 Xenforo 2 插件可以处理重定向: Xenforo Redirects for vBulletin

但是这个插件是为 Apache 制作的,开箱即用它不能与 Xenforo 2 和 nginx 的 SEO 友好 URL 功能一起正常工作。要解决该问题,您需要使用 XF2 Documentation.

设置您的 nginx 配置以使用 SEO 友好 URLS

您需要做的最后一件事是阅读 this post,其中概述了问题的原因和解决方法。问题的原因是这一行:

  try_files $uri =404;

它阻止了重定向的发生,因为旧的 vbulletin php 文件不存在。最后的修复是将块设置为如下所示:

location ~ \.php$ {
  try_files $uri /index.php?$uri&$args;
  #try_files $uri =404;
  fastcgi_pass    127.0.0.1:9000;
  fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include         fastcgi_params;
}