我有一个网站,其中包含联盟网址,需要从子网站和目录访问。例如:
http://someaffiliate.example.com
http://www.example.com/someaffiliate
为了实现这一点,我已经配置了NGINX以检查文件或目录是否存在,如果没有它转发到php页面,该页面通过使用$ uri然后转发到子域URL来收集一些联盟数据。
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html/app/;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ $uri.html /index.php?q=$uri;
}
}
这个工作得很好,问题是这个网站现在是在AngularJS上运行的SPA。我需要使用HTML5 Api,所以链接可以很漂亮。例如,如果关联企业想要使用URL:
http://someaffiliate.example.com/products
而不是
http://someaffiliate.example.com/#/products
这不起作用,因为NGIX在到达Angular之前会拦截它到我的php脚本,然后将其转发到:
http://products.example.com
我的角应用程序中的链接也得到相同的处理。所以基本上整个事情都被打破了。
关于如何让它发挥作用的任何想法?
答案 0 :(得分:0)
我对ngix没有太多经验,但你记得在index.html中设置基本网址吗?我知道这是设置路由时的常见问题。
<base href="/">
在此处查看此示例: http://andredublin.github.io/blog/2014/08/18/nginx-and-angularjs-url-routing/