我是使用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;
}
}
欢迎任何有关最佳做法的建议。
答案 0 :(得分:0)
在遇到%G?
后,浏览器不会发送任何信息。
因此,当发送#
时,nginx只能看到https://server.com/#/page.html
。
因此无法重定向,更改客户端应用程序是唯一的选择。