- ベストアンサー
Apacheでhttpsのアクセスをhttpへリダイレクトさせる方法
- Apacheでhttpsのアクセスをhttpへリダイレクトさせる方法について質問です。質問者は最近apacheの設定をいじり始めたが、正規表現が苦手でhttpsからhttpへのリダイレクトがうまくできないと困っている。具体的にはhttps://www.test.comやhttps://www.test.com/、https://www.test.com/index.htmlをhttpにリダイレクトしたい。質問者はhttpd.confに記述すればいいのか迷っており、現在はスラッシュ有無やインデックスファイルの場合の正規表現に苦戦している。
- 質問者は以下の設定を試してみたが、うまくいかなかったようだ。 RewriteEngine On RewriteCond %{HTTP_HOST} ^www.test.com(.*) RewriteRule ^(.*)?$ http://www.test.com$1 [L,R]
- 質問者はApacheでhttpsのアクセスをhttpへリダイレクトさせる方法について困っており、正規表現の理解が難しいと感じている。質問者は質問文章中のパターンに基づいてリダイレクトを実現したいが、現在はうまくできていない。httpd.confにどのように記述すればいいのか教えてほしいと求めている。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 そのサーバーで受けたいアドレスが「www.test.com」だけでしたら、 RewriteCond %{HTTP_HOST} ^www.test.com(.*) は不要ですが・・・、 他のドメインでもListenしているなら必要です。 RewriteRuleに関しては、今回のご質問から察するに・・・、 https://www.test.com(ここに何が付いてても) ↓ http://www.test.com/ にしたいという事だと考えますが、合ってますか??? つまり https://www.test.com/ → http://www.test.com/ https://www.test.com/index.html → http://www.test.com/ だと思ってますが・・・。 これだと単純に、 RewriteRule ^/.*$ http://www.test.com/ [R=301,L] でいいかと思います。
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 普通に RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L] とかじゃ駄目なんですかね?
お礼
ご回答がりがとうございます。 それは RewriteEngine On RewriteCond %{HTTP_HOST} ^www.test.com(.*) RewriteRule ^(.*)?$ http://www.test.com$1 [L,R] ↓ RewriteEngine On RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L] で良いってことでしょうか? ちなみに https://www.test.com/→http://www.test.com https://www.test.com/index.html→http://www.test.com の正規表現おわかりでしょうか…
お礼
https://www.test.com/ → http://www.test.com/ https://www.test.com/index.html → http://www.test.com/ まさにこれです! 自分の質問でcom/をcomにしてました^^;すみません。 taka451213さんの記述通りです。 ちなみに先ほど実装してみましたが、期待通りの結果でした!! 凄く助かりました!ありがとうございました!