Javascript:重定向到不同的子域
我有一个登录页:“”和一个应用程序:“”,在一些用户操作(如注销)中,我需要将用户重定向回原始登录页。 我的硬编码解决方案确实有效:Javascript:重定向到不同的子域,javascript,http,url,redirect,url-rewriting,Javascript,Http,Url,Redirect,Url Rewriting,我有一个登录页:“”和一个应用程序:“”,在一些用户操作(如注销)中,我需要将用户重定向回原始登录页。 我的硬编码解决方案确实有效: window.location = "https://www.example.com" 但这是一种糟糕的做法,在我的本地开发(对于应用程序,没有本地登录页面)等其他环境中也很烦人。 是否有一些好的简单的解决方案可以重定向到我当前站点的基本域(example.com默认重定向到www.example.com)?然后我会使用 var hostname = locat
window.location = "https://www.example.com"
但这是一种糟糕的做法,在我的本地开发(对于应用程序,没有本地登录页面)等其他环境中也很烦人。
是否有一些好的简单的解决方案可以重定向到我当前站点的基本域(example.com默认重定向到www.example.com)?然后我会使用
var hostname = location.hostname;
window.location = `https://${hostname}`;
资料来源:
此外:
编辑:对于端口:
你可以用
var hostname = location.hostname;
var port = location.port;
window.location = `https://${hostname}:${port}`
这通常通过更改web服务器中的设置来解决。在许多托管平台(我使用GoDaddy)中,都有这样的设置。我试过了,但有两个问题:1。im重定向到https(即使im在http上是本地的)和2。端口(8082)丢失。我知道我可以编写一些regex和strig replace,但对于简单的重定向来说,这似乎有点太复杂了……用“http://${hostname}”代替“https://${hostname}”怎么样?我的端口仍然存在问题:(该端口似乎不是location.hostname的一部分,但location.port保留它。也许我会在端口80运行本地服务器。另外:您可以使用var port=location.port;然后使用“window.location=”https://${hostname}:${port}”;