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

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

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

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

Apache

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

Q&A

解決済

2回答

6397閲覧

【httpsリダイレクト】https://から始まるURLでアクセスするとリダイレクトされません

jun_1989

総合スコア17

HTTPS

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

Apache

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

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

0グッド

0クリップ

投稿2018/08/09 08:51

サイトの引越しに伴い、記事ページをそれぞれ個別に引越し先のサイトの該当する記事ページにリダイレクトさせています。

元のサイト(AAA.com)において、httpd.confに記述する形で新しいサイト(BBB.com)へのリダイレクトを実現させようと思ったのですが、うまくいきません。

具体的には

(元)https://AAA.com/xxx/yyy.php?id=123
(新)https://BBB.com/newid/

上記のようにリダイレクトさせたく、以下のように元のサイトのhttpd.confを編集しました。

元のサイト(AAA.com)のhttpd.conf抜粋

NameVirtualHost *:443 <ifModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} /xxx/yyy.php RewriteCond %{QUERY_STRING} ^id=123$ RewriteRule ^(.*)$ https://BBB.com/newid/? [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </ifModule>

<ifModule mod_rewrite.c>内の

RewriteCond %{REQUEST_URI} /xxx/yyy.php RewriteCond %{QUERY_STRING} ^id=123$ RewriteRule ^(.*)$ https://BBB.com/newid/? [R=301,L]

が今回新しいサイトへのリダイレクトを実現するために記述した箇所です。

RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

の部分は、元のサイトにてhttpでのアクセスも強制的にhttpsでのアクセスに変更させるための記述です。

前置きがながくなりましたが、ここからが今回のご質問内容です。

http://AAA.com/xxx/yyy.php?id=123

でアクセスすると意図した通りに新しいサイトの

https://BBB.com/newid/

へとリダイレクトされたのですが、

https://AAA.com/xxx/yyy.php?id=123

でアクセスすると新しいサイトへのリダイレクトは行われずに、そのまま元の記事ページ(https://AAA.com/xxx/yyy.php?id=123)にアクセスされてしまいました。

https://AAA.com/xxx/yyy.php?id=123でアクセスしても新しいサイトにリダイレクトされるようにしたいのですが、どのような対策をしたら実現できるでしょうか。

皆様のお力をお借りできると幸いです。宜しくお願い申し上げます。

元のサイト(AAA.com)環境
AWS EC2(Amazon Linux)
Server version: Apache/2.2.34 (Unix)

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

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

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

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

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

guest

回答2

0

ベストアンサー

質問に httpd.conf の内容が全部提示されているわけではないので、推測ですが....

Apache 設定ファイルの別の場所 (例えば、 VirtualHost 等) で、https( *:443 ) へのアクセスが定義されていたりしないでしょうか?

多くの linux の Apache は、デフォルトだと https の設定は、/etc/httpd/conf.d/ssl.conf に <VirtualHost _default_:443> という設定があったりします。

投稿2018/08/09 09:32

CHERRY

総合スコア25171

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

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

jun_1989

2018/08/09 10:14

CHERRY様ご回答ありがとうございます。 お示しいただいた/etc/httpd/conf.d/ssl.confの<VirtualHost _default_:443>内に<ifModule mod_rewrite.c>でリダイレクトを記述するという方法でうまくいきました! http://、https://どちらのアクセスでも新しいサイトにリダイレクトされました
guest

0

Aサイトではもう処理せず、すべてBサイトで処理するならAサイトではBサイトへの全リダイレクトで十分ではないでしょうか。

Aサイトの設定
Redirect permanent / https://BBB.com/

Bサイトで改めてリダイレクトするべきでしょう。

投稿2018/08/09 09:04

編集2018/08/09 09:16
namda

総合スコア705

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

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

jun_1989

2018/08/09 09:10

namda様ご回答ありがとうございます。わかりにくい記述をしてしまい申し訳ございません。
jun_1989

2018/08/09 10:09

改めてご回答ありがとうございます。 なるほど、勉強になります。そちらの方法も検討させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問