Nginx使用/#/ url

时间:2016-04-18 08:27:53

标签: nginx

我是使用nginx的新手,我正在尝试将一个网址重定向到另一个网址。

https://server.com/#/page.html -> https://server.com/page.html

/#/来自使用Angular2的路由器功能。我决定将页面更改为静态html,因为Angular2会在启动时加载整个应用程序,并且不必将此单页信息显示为此类。

我解决问题的尝试如下。我可以从/anotherpage -> /page.html重定向,但/#/anotherpage -> /page.html加载Angular2应用并尝试路由到不存在的路由。

使用此配置和位置指令:

server {
   listen      8001;
    server_name server.com;
    ...
    #SSL Things
    ...
    root /to/root/folder/public;
    #Redirects:
    location = /anotherpage {
        rewrite ^/.* https://$server_name/page.html;
    }
    #Does not redirect:
    location = /#/anotherpage {
        rewrite ^/.* https://$server_name/page.html;
    }
}

欢迎任何有关最佳做法的建议。

1 个答案:

答案 0 :(得分:0)

在遇到%G?后,浏览器不会发送任何信息。

因此,当发送#时,nginx只能看到https://server.com/#/page.html

因此无法重定向,更改客户端应用程序是唯一的选择。