nginx:将多个URL路由到一个html文件

nginx:将多个URL路由到一个html文件

我们将网站的一部分渲染为静态文件,类似于 jekyll 所做的。例如,我们有文件:

index.html
about-us.html

问题是,有时名称会发生​​变化,最终我们会得到:

index.html
company.html (former about-us.html)

现在,有没有一种简单的方法可以将所有请求重定向到http://example.com/about-us.htmlhttp://example.com/company.html无需重新启动服务器?

类似 apache 的 .htaccess 的东西会很棒,因为整个根文档目录是在多个服务器上生成和同步的,所以我们可以简单地重新生成这个 .htaccess 等效文件并将所有必要的重定向放在那里。

谢谢!Jan

答案1

nginx 无法将重定向放入类似 htaccess 的文件中(主要是因为这会降低性能)。您必须在 nginx 配置中执行此操作(并重新加载 nginx 以使重定向可用)。

要将其部署到不同的服务器,您可以使用如下目录结构:

文档根目录:

/var/www/$hostname/html

本地 Nginx conf(通过主 nginx.conf 包含:

/var/www/$hostname/conf/nginx.conf

将两个目录同步到其他服务器并确保它们重新加载。

相关内容