使用NGINX和一些定制的php配置为漂亮的url获取AngularJS html5api
我有一个网站,有附属网址,需要从子域和目录访问。例如:使用NGINX和一些定制的php配置为漂亮的url获取AngularJS html5api,angularjs,nginx,Angularjs,Nginx,我有一个网站,有附属网址,需要从子域和目录访问。例如: http://someaffiliate.example.com http://www.example.com/someaffiliate 为了实现这一点,我将NGINX配置为检查文件或目录是否存在,如果不存在,则将其转发到一个php页面,该页面使用$uri收集一些附属数据,然后转发到子域URL server { listen 80 default_server; listen [::]:80 default_server
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上的水疗中心。我需要使用HTML5API,这样链接可以很漂亮。例如,如果分支机构希望使用URL:
http://someaffiliate.example.com/products
而不是
http://someaffiliate.example.com/#/products
这不起作用,因为NGIX在到达Angular之前拦截,并将其路由到我的php脚本,该脚本将其转发到:
http://products.example.com
我的angular应用程序中的链接也得到了同样的处理。所以基本上整个东西都坏了
关于如何实现这一点,您有什么想法吗?我对ngix没有太多经验,但您是否记得在index.html中设置基本url?我知道这是设置路由时的常见问题
<base href="/">
请参见此处的示例:
是的,我有。问题其实不是路由,甚至不是nginx配置,而是两者之间的冲突。我需要第三个选择,如何让它工作,我不知道这可能是什么。