• 締切済み

.htaccessの書き方 リダイレクト

http://example.com http://www.example.com https://example.com これらへのアクセス全てを https://www.example.com にリダイレクトさせたいと思います .htaccessは具体的にどう書いたら良いでしょうか? よろしくお願いします

みんなの回答

  • chie65535
  • ベストアンサー率43% (8519/19367)
回答No.2

RewriteRule https://www.example.com/ - [L] を RewriteRule https://www\.example\.com/ - [L] にして下さい。 ピリオドがワイルドカード文字として機能するのを失念していました。 当方の考えでは、この1行によってリダイレクトのループを防げる筈なんですが、これでもループ防止に失敗するのであれば、以下のように条件を厳しくした方が良いでしょう。 RewriteEngine On RewriteBase / #http://で来たらhttps://に飛ばす RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] #https://で、かつ、www無しできたら、https://のwww付きに飛ばす RewriteCond %{SERVER_PORT} 443 RewriteCond %{HTTP_HOST} ^example\.com RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] これなら「ループしない筈」です。 但しサクラインターネットでWordPressを導入すると、HTTP_HOSTがウソをつくので RewriteCond %{HTTP_HOST} ^example\.com でループします(これに付いての対処方法は、本題と関係ないので略します)

  • chie65535
  • ベストアンサー率43% (8519/19367)
回答No.1

RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L] RewriteCond %{SERVER_PORT} 443 RewriteRule https://www.example.com/ - [L] RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

youking
質問者

補足

設定後chromeでアクセスすると このウェブページにはリダイレクト ループが含まれています と表示されてしまいます。

関連するQ&A

  • .htaccessのリダイレクトについて

    .htaccessで以下のようにURLをリダイレクトさせたいのですが、調べてもなかなかこのようなサンプルがなく、悩んでいます。 以下のようなURLにアクセスした場合 example.com/public example.com/public/ example.com/public/pageA example.com/public/pageB example.com/public/pageB/pageC 以下のように、publicを削除したURLにリダイレクトしたいです。 example.com example.com/ example.com/pageA example.com/pageB example.com/pageB/pageC 上記の設定は.htaccessのRewriteRuleの設定で可能でしょうか? どなたか詳しい方がいたら教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • http → https リダイレクト

    【http://example.com】にアクセスしたら【https://example.com】へリダイレクトしたいのですが、indexファイルが【/var/www/html/index.html】にある場合、どのようにすればよいでしょうか?やり方はhttpd.confにリダイレクト指定をしても.htaccessファイルを用いても何でも結構です。記述方法がよくわからないのです。 ご存知の方、宜しくお願いします。

  • .htaccessの有効範囲について

    .htaccessの有効範囲について .htaccessの有効範囲について疑問があります。設置されたディレクトリと、そのディレクトリ以下の全てのディレクトリに対して有効であるとの認識です。 http://example.com/.htaccess これは、 (1)http://example.com/にアクセスしてサーバーの設定によりhttp://example.com/index.htmlが表示された場合 (2)http://example.com/index.htmlに直接アクセスした場合 (3)http://example.com/abc/xyz.htmlにアクセスした場合 この3つ全てに適用されますよね? 私はそうだと思っていたのですが、実際は(1)の場合しか効果を発揮していません。 ということは、最後が/で終わるアドレスにしか有効ではないのでしょうか? そう言われると、「設置された"ディレクトリ"と、そのディレクトリ以下全ての"ディレクトリ"に対して有効」という文言もそういうことかというように読めるのですが、腑に落ちません。 もちろん私の.htaccessの書き方に問題がある可能性もありますが、その可能性を除いた場合、効果範囲はどうなるものなのでしょうか。 ご回答宜しくお願いいたします。 ちなみに、.htaccessの内容はユーザーエージェントを用いた携帯からのアクセスのリダイレクトです。 先日この件で質問をさせていただきまして、更に調べたところ上記のように効果範囲が限定されていることに気付きました。

    • ベストアンサー
    • HTML
  • .htaccess でPC/携帯を振り分けつつ、転送方式に301リダイレクトを使う場合

    PCサイトと携帯サイトを、レンタルサーバ上にディレクトリを分けて設置して、 http://www.example.com でアクセスすると /home/www http://m.example.com でアクセスすると /home/m を読みに行くように、.htaccess を設定したいと考えています。 (DNSでは、どちらも通るように設定済みです) また、PC/携帯のアクセス振分も同時に行いたく、サブドメインなしの http://example.com でアクセスすると、端末情報を判別して、 携帯のときは http://m.example.com、それ以外のときは http://www.example.com へ 「301リダイレクト」で転送させたいと思っています。 このような要件を同時に満たすには、どのように.htaccess を記述 すれば良いでしょうか?

  • .htaccessリダイレクト

    .htaccessリダイレクト 別ドメインにリダイレクトさせるための方法が分からないので、質問させてください。 現在http://www.aaaaa.jp/aaa/bld_list.phpにアクセスしたときに http://www.bbbbb.jp/bbbにリダイレクトさせようとしています。 googleで「別ドメイン .htaccess リダイレクト」など色々検索してみたのですが、 なかなか出て来なく、困っています。 どなたかアドバイスいただけないでしょうか?

  • htaccessで1つのURLにリダイレクト

    http://yahoo.com/* ↓ http://google.com/ このようなリダイレクトを設定したいのですが、htaccessを触ったことが無いのでわかりません。 Redirect temp / http://google.com/ でやってみたのですが、 http://yahoo.com/hogehoge にアクセスした時に http://google.com/hogehoge に行ってしまいます どのディレクトリからでも http://google.com/ に302リダイレクトする方法を教えていただけないでしょうか。

  • htaccess リダイレクト スマホの振り分け

    htaccessでhttp~.com/にスマホからアクセスが有った際にspindex.htmlへリダイレクトさせたいです。 参考サイトなどを見ているのですが、ドメイン以下全てに適応するようなものばかりで単純にドメインへのアクセスのみに振り分けを効かせたいです。 できればコードを教えて貰えると助かります。

  • .htaccessでのリダイレクト

    .htaccessのリダイレクトで困っています。 .htaccessのリダイレクトが不得手なのでお聞きしたいのですが、 PC用のWEBデータが「/pc/」ディレクトリに入っています。 スマホ用のWEBデータが「/sp/」ディレクトリに入っています。 WEBのルート「/」には何も入っていないのでアクセスがあった場合は、PCの場合は「/pc/」に、スマホの場合は「/sp/」に移動させたいです。 でも、スマホから「/pc/」にアクセスがあった場合は、「/sp/」に移動はさせたいのですが、PCから「/sp/」にアクセスがあった場合はそのまま表示したいです。 さらに、例えば「/pc/access.html」にスマホからアクセスがあった場合は、「/sp/access.html」を表示させたいです。PCとスマホで対応するファイルは全て存在します。 そのような場合の.htaccessの記述方法はどのようになるのでしょうか? ご存じの方がいましたらよろしくお願いします。

  • リダイレクトの記述方法について教えてください。

    (1)から(2)のURLへリダイレクトする.htaccessの記述方法を教えてください。 (1) http://www.example.com/wordpress/ と http://www.example.com/wordpress           ↓ (2) http://www.example.com/blog/ 但し、リダイレクトしたいのは上記URLだけです。 (1)のURL配下にある個別記事 http://www.exapmle.com/wordpress/?p=123 はリダイレクトしません。 自分で.htaccessに記述したところ、(1)の配下の個別記事までリダイレクトしたため、慌てて削除したところです。 よろしくお願いします。

    • 締切済み
    • CSS
  • .htaccessのリダイレクトの書き方

    .htaccessのリダイレクト処理で http://sample.com/index.phpにpost情報込みでアクセスがあった場合、 「www統一」 「index.phpなし」 「index.phpなしアドレスにリダイレクトされた場合もpostの値を取得できる」 という条件を満たすコードはどのようにすれば良いのでしょうか? 「www統一」や「index.phpなし」は説明サイトも多いので可能なのですが、リダイレクト後のURLでもpostの情報を取得する方法がわかりません。 どうそよろしくお願いします。

    • ベストアンサー
    • HTML