我的登陆和关于网页是在https://examplecms.com的其他主机中的Wordpress中托管的。
我想要实现的是让用户访问https://example.com屏蔽https://examplecms.com,除非他们登录时我的平台的仪表板在根路径/中路由。 / p>
我要避免的是用户要在网址https://examplecms.com中查看。
到目前为止,我已经尝试了几个技巧:
我一直在考虑使用.htaccess或甚至使用DNS策略在代理服务器级别进行,但是我无法找到这些策略的解决方案来检测用户何时登录?
有什么想法吗?
由于
更新: 堆栈:
答案 0 :(得分:2)
您可以使用http://nginx.org/r/proxy_pass以静默方式将用户重定向到其他网页,而无需更改在浏览器的Location
字段内向用户显示的网址。
要检查用户是否已登录,您可以通过http://nginx.org/r/error_page安装错误处理程序,仅在正常页面返回错误时重定向用户(例如,如果正常proxy_pass
导致错误403 Forbidden
响应,然后根据错误处理程序将用户的请求重定向到上游的替代proxy_pass
。
答案 1 :(得分:0)
您正在寻找的是路线范围。我正在使用Devise进行身份验证,它可以帮助您完成所需的操作,但我毫不怀疑您可以根据自己的需要进行调整。当用户点击网站上的任何页面时,它们会自动重定向到登录。如果他们已登录,则会将其重定向到他们输入的主页/网址。
authenticated :user do
root to: 'titles#index'
end
devise_scope :user do
root to: 'devise/sessions#new'
end
答案 2 :(得分:0)
对于您的WordPress托管的Web内容,您可以在托管服务提供商上创建一个非常简单的子域,就像这样
Task<IActionResult>
是examplecms.com的别名
您可以使用设备gem来验证用户身份并将用户路由到子域。当用户点击/ root_path时。