【发布时间】:2019-11-19 10:29:21
【问题描述】:
我正在开发一个在我的域上运行的应用程序。 一切都按预期工作,但我似乎无法找到与子域相关的问题的任何好的答案。
此应用程序允许不同的客户端注册自己并在应用程序中获得自己的“环境”。
例如如果client1注册了自己,他的环境将在https://main.application.com/v/client1
现在,如您所见,这很丑陋。我希望他能够转到https://client1.application.com/,并在后台显示https://main.application.com/v/client1。
我读过这可以通过 apache rewrite 实现。
我猜我的情况比简单的重写要复杂一些。我想要实现的是:
User goes to | Has to redirect to
client1.application.com | main.application.com/v/client1
client1.application.com/register | main.application.com/v/client1/register
client1.application.com/dashboard | main.application.com/dashboard
client1.application.com/... | main.application.com/...
如您所见,唯一一次我想使用附加到我的域的 /v/client1 进行重定向,是当有人尝试注册或尝试访问其环境的登录页面时。在所有其他情况下,我只想获取 URL 后面的内容并将其附加到 main.application.com(这是主应用程序运行的地方)。我也不希望用户注意到重定向,但地址栏中的 URL 保持不变。
我试图想出一些伪代码来解释我想要做什么:
If subdomain.application.com/ or subdomain.application.com/register
--> take subdomain and paste it like this:
main.application.com/v/SUBDOMAIN/ or main.application.com/v/SUBDOMAIN/register
Else
--> Redirect to main.application.com/URL
e.g. client1.application.com/dashboard --> main.application.com/dashboard
但是我完全不知道应该如何用 Rewrite 来编写它。
有没有人在这方面有经验可以帮助我进行这些重写?我是新手,我找不到我的具体案例的文档。
【问题讨论】:
标签: apache .htaccess mod-rewrite