質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

3670閲覧

Javascriptによるhttpsリダイレクト

退会済みユーザー

退会済みユーザー

総合スコア0

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/06/04 12:48

###Javascriptによるhttpsリダイレクト
現在以下のコードでhttpからhttpsヘリダイレクトを行なっていますがリファラーが自サイトのものになっているようです。
何か解決する方法はないでしょうか?

###Javascript

JavaScript

1if(location.protocol == 'http:') { 2 location.replace(location.href.replace(/http:/, 'https:')); 3}

###HTML一部

HTML

1 <head> 2 <title>Title</title> 3 <meta charset="utf-8" /> 4 <meta name="viewport" content="width=device-width, initial-scale=1" /> 5 <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet"> 6 <!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]--> 7 <link rel="stylesheet" href="assets/css/main.css" /> 8 <!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]--> 9 <!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]--> 10 <script src="assets/js/https.js"></script> 11 <script src="assets/js/analytics.js"></script> 12 </head> 13

###サーバー環境

  • Apache : 2.2.3
  • Perl : 5.10.1
  • PHP : 5.6(FastCGIモジュール)
  • MySQL : 5.1.73
  • PostgreSQL : 8.4.20

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

JavaScriptで操作する以上は、「そのページから(JavaScriptの操作で)飛んできた」ということに間違いないので、リファラーがJavaScriptの置いてあるページとなるのは当然の話です。

リファラーをそのままでリダイレクトさせたい場合、サーバサイドでHTTP 301を返してリダイレクトをかけましょう。Apacheであれば.htaccessでも実現可能です。

投稿2016/06/05 00:28

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/05 00:49

なるほど。 .htaccessでリダイレクトをするほうがいいのですね。 ありがとうございました。
ikuwow

2016/08/12 15:40

検索していてこちらのページに辿り着きました。以下の記事も分かりやすかったのでおすすめです。 やはり、お前らのJavaScriptでのリダイレクト実装は間違っている - Qiita http://qiita.com/1987yama3/items/5ff58b6195fe6c3f268b
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問