我遇到过需要设置一个 nginx 服务器的情况,该服务器只为包含静态内容的站点(约 800 个)提供服务。许多站点最初本身没有实际内容,只需重定向到“主”域即可。例如 foo.my foo.net 最初将被 301 重定向到 foo.com,但稍后将成为包含自己内容的站点。
我需要想出一种方法,让网站管理员能够自己控制重定向,而无需编辑 nginx 配置文件。
如果服务器上有 php,那就真的很容易了,但是现在呢?似乎 SSI 无法修改标头,nginx 中没有可以保存重定向的 .htaccess 文件。
那么有没有办法从 html 文件进行重定向?或者是否可以在配置中测试某个特定文件是否存在,然后使用该文件的内容作为重写的目标?或者除了丑陋的 0 秒元刷新(从 SEO 角度来看可能非常糟糕)之外,还有其他方法可以实现这一点?
答案1
你可以用以下方式做自定义的事情嵌入式 perl 脚本例如,你可以从 SSI 给他们打电话。
如果它可以从 800 个服务器块运行,您将必须衡量其性能影响。
如果很明显,那就更好了包括nginx 子配置文件并教会您的网站管理员语法(在这种情况下,配置文件将驻留在内存中)。