2016-11-21 10 views
0

ランディングページを取得しました: "https://www.example.com"とアプリケーション: "https://app.example.com/something/"とログアウトのようなユーザーアクションでは、ユーザーを元のランディングページにリダイレクトする必要があります。 私のハードコード化されたソリューションは、作業を行います。Javascript:別のサブドメインにリダイレクト

window.location = "https://www.example.com" 

が、これは悪い習慣と私の地元の開発(http://localhost:8082/something - アプリのために、ローカルランディングページ)のような他の環境で迷惑です。 私の現在のサイト(example.comはデフォルトでwww.example.comにリダイレクト)のベースドメインにリダイレクトするためのいくつかの簡単でいい解決策がありますか?

+0

これは、多くの場合、Webサーバーの設定を変更することによって行われます。多くのホスティングプラットフォーム(私はGoDaddyを使用しています)には、これに関する設定があります。 –

答えて

1

私はその後、使用し

var hostname = location.hostname; 
window.location = "https://${hostname}"; 

ソース:また Determine domain name in JavaScript?

http://www.w3schools.com/jsref/prop_loc_hostname.asp

編集:ポート用:

http://www.w3schools.com/jsref/prop_loc_port.asp

使用可能

var hostname = location.hostname; 
var port = location.port; 
window.location = "https://${hostname}:${port}" 
+0

私はそれを試みましたが、2つの問題があります。1. httpsへのim redirectet(httpでもimローカルであっても)と2.ポート(8082)が失われました。私はいくつかの正規表現と文字列を書き換えることができることを知っているが、これは単純なリダイレクトのためにはあまりにも複雑すぎるようだ.... – ahe

+0

"https:// $ {hostname}"ではなく "http:// $ {hostname } "? – Besto

+0

私のポートにはまだ問題があります。(ポートはlocation.hostnameの一部ではないようですが、location.portはそれを保持しています。おそらく私のローカルサーバをポート80で実行します。 – ahe