如何使用Nginx将错误页面路由到包含hashtag的URL

问题描述:

我是Nginx的初学者。我正在使用Angular 2创建一个单页面应用程序,其中我创建了一个PageNotFound视图,位于/#/page_not_found,如何配置Nginx以便在404时路由到/#/page_not_found? Nginx的似乎不喜欢在URL包括hashtag,所以我不能做error_page 404 /#/page_not_found
我可以路线就好像它是通过做如何使用Nginx将错误页面路由到包含hashtag的URL

error_page 404 "http://my_public_domain_name/#/page_not_found"; 

外部URL,但这个看起来像一个黑客。有没有更好的办法?

您需要error_page来生成外部重定向,因为您正在处理错误客户端。

你已经有解决方案,但你可以使表述更加使用预定义变量概括:

error_page 404 $scheme://$host/#/page_not_found; 

的变量列表,请参阅this documenterror_page指令,并this document