【发布时间】:2017-01-08 23:00:22
【问题描述】:
我有一个使用 api 的 Angular 网站。现在我想创建自动登陆页面。
我的 api url 是这样 (https://) system.mydomain.com/api - 它是一个使用 slim 框架的 rest api
现在我已经为 (https://) system.mydomain.com/content/seo-name-of-item 等登陆页面创建了路由
这可行,但我不想在这种情况下显示“system.mydomain.com”(所以在 URI“内容”中),但我希望它是(https://)mydomain.com/content/seo -name-of-item 或/和 (https://) www.mydomain.com/content/seo-name-of-item
获得这种行为的最佳方法是什么?
【问题讨论】:
-
请记住,对于三个主机名
system.mydomain.com、mydomain.com和www.mydomain.com,您需要单独的有效 ssl 证书。或者是昂贵的“通配符证书”。 -
最佳方法?好吧,您实现重写规则执行外部重定向(更改浏览器中可见的 URL)或使用内部代理模块来代理单独 http 主机之间的请求(URL 和主机名不会不更改在浏览器中)。
-
我的域有一个通配符证书
-
嗯,是的,我可以从该 url 重定向到另一个 URL,但所有逻辑都在 system.mydomain.com/content/something 中完成 - 这是在 slim 框架中制作的路由,它可以正常工作不希望访问者看到系统。如果我重定向我必须在一个单独的文件夹中执行逻辑,这会失去我从苗条框架中获得的所有力量
-
我跟不上那里。即使 if 您进行了外部重定向,您也可以毫无问题地为生成的请求添加一些内部重写,从而将请求映射到您在内部使用的任何布局。这仅意味着您的 http 主机名在 URL 中发生了变化。但正如所说:使用内部代理模块,您甚至可以防止这种情况。请参阅下面的答案。
标签: apache mod-rewrite url-rewriting slim