ロリポップでhttpsでWWW無しに一本化する方法

このQ&Aのポイント
  • ロリポップのサポートを調べた結果、自分のHPをhttpsでWWW無しに一本化する方法を探しています。
  • 現在、xxxx.jpとwww.xxxx.jpの両方に無料SSL認証が設定されていますが、httpsでWWW無しに統一したいです。
  • 現在試している.htaccessの設定では、https://xxxx.jp以外のページがエラーになってしまうため、正しい設定方法を教えてほしいです。
回答を見る
  • ベストアンサー

ロリポップでhttpsでWWW無しに一本化する件に

ロリポップでHPを運営しています。 ロリポップのサポートを調べて、仮に自分のHPが、xxxx.jpとすると、 xxxx.jp とwww.xxxx.jp に無料SSL認証が設定されています。 http://xxxx.jphttps://xxxx.jphttp://www.xxxx.jphttps://www.xxxx.jp は、 単独でテスト中のページが開きますが、httpsでWWW無しに一本化する。.htaccessでトラブっています。 httpからhttpsへリダイレクトさせる記述とwwwありからwwwなしのURLに統一する部分とを順番に記述しています。 以下、===間がソースです。 =========================== RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://xxxx.jp/$1 [R=301,L] RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.xxxx\.jp)(:80)? RewriteRule ^(.*) https://xxxx.jp/$1 [R=301,L] =========================== Winのメモ帳で書いて、ソース群の最終行には改行を入れています。 utf-8で保存し、index.htmlのある場所へアップロードし、.htaccessに名称を変更。 ファイルのパーミッションも「604」に変更です。 【この.htaccessでの動作状態】 https://xxxx.jp以外は、すべて「※CGI もしくは SSI が正しく動作していません。」のエラーになります。 【お願い】 1. httpsでWWW無しに一本化する目的での正しい.htaccessの書き方を教えてください。 2. .htaccessのアップ・リネイムその他の手順に間違いがないか、教えてください。 以上、よろしくお願いいたします。

  • HTML
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ロリポップを使ったことはないため、具体的なことはよくわかりませんが……。 ◆URLの書き換え / サーバー・プログラム / マニュアル - レンタルサーバーならロリポップ!  https://lolipop.jp/manual/hp/htaccess-08/ 『wwwの有無』だけを説明している公式サイトに、《httpsの設定》も加えてみます。バラバラに書くよりも、まとめて一気に書いたほうがシンプルです。 こうやって[OR]をつけると、  ・もしhttpでアクセスしたら、    または  ・もしwwwありでアクセスしたら、  ・すべてをhttps://xxxx.jp/にリダイレクトする という指定になります。まとめることで、RewriteRuleも一回だけで済みます。 =========================== <IfModule mod_rewrite.c> # === httpsかつwwwなしに統一 ================================ RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteRule (.*) https://xxxx.jp/$1 [R=301,L] </IfModule> =========================== あと考えられるとすれば、メモ帳でUTF-8を使うと失敗すると聞いたことがあるので、別のソフトを使ってみるといいかもしれません。私は『StyleNote』というHTMLエディタを使っていますが、ちゃんと.htaccessも編集できますし、UTF-8でも保存できます。 ◆StyleNote | タグ挿入型 国産HTML&CSSエディター  https://sn.lowedge.com/ それでもダメなら、FFFTP以外のFTPソフトを試してみるのもアリだと思います。『WinSCP』とかも使いやすいですよ。 ◆WinSCP・FileZilla・FFFTP の比較:ベストな FTP ソフトの選び方  https://synclogue-navi.com/winscp-filezilla

参考URL:
https://allabout.co.jp/gm/gc/23962/4/
YOKOHAMA-Boy
質問者

お礼

丁寧な解説をありがとうございました。 ソースをインストールしてあった「サクラエディタ」で、改行コードをLFにして、UTF-8保存しました。 その後アップロードは、FFFTPで名前を変えてアップロード、属性604に変更で、動作しました。 あまり気にしていなかった、改行コードとかが盲点でした。 ありがとうございました。

その他の回答 (1)

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

>1. httpsでWWW無しに一本化する目的での正しい.htaccessの書き方を教えてください。 以下参照 https://htaccess.cman.jp/explain/redirect_url.html >2. .htaccessのアップ・リネイムその他の手順に間違いがないか、教えてください。 ftpクライアントソフト等で、.htaccessをアップロードする際に「テキストモードでの転送」を明示的に指示して下さい。 拡張子などにより、テキストかバイナリかの転送モードを自動的に決めるモードにしている場合、.htaccessは「バイナリで転送」されてしまい、改行コードの問題で「.htaccessが正常に認識されない状態」になります。つまり、 CGI もしくは SSI が正しく動作していません。 のエラーが出る事になります。

YOKOHAMA-Boy
質問者

補足

回答を参考に、.htaccessを作り、ffftpのアスキーモードでアップしましたが、https://xxxx.jp以外は「500 error 正しく動作していません。」になってしまいます。 .htaccessは、以下です。 # === wwwなしに統一 ================================ RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.xxxx\.jp RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ http://xxxx.jp/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www\.xxxx\.jp RewriteCond %{SERVER_PORT} 443 RewriteRule ^(.*)$ https://xxxx.jp/$1 [R=301,L] # === httpsに統一 ================================ RewriteEngine on RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] .htaccessの記述に誤りがあるのでしょうか? または、ロリポップでは違う記述が必要なのでしょうか?

関連するQ&A

  • wwwありかつhttpsへリダイレクトさせたい

    .htaccessに以下の記述をしていますが、 ブラウザでURLに”xxxx.jp”と"http://xxxx.jp"と入力してアクセスすると、 https://xxxx.jpにリダイレクトされてしまます。 ドメインxxxx.jpを.htaccessに記載せずにhttps://www.xxxx.jpにリダイレクトさせる記述をご存知でしょうか? wwwありの場合"www.xxxx.jp"、"http://www.xxxx.jp"は意図したとおり”https://www.xxxx.jp"に転送されています。 --- RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ---

    • 締切済み
    • CGI
  • SSLのリダイレクトについて

    sslのリダイレクトの作業を急いでやらないといけないのですが、sslに関しては全くの初心者なので調べながらいろいろやってみましたがどうしてもうまくいかず困っています。。 Wordpressでサイトを作成していてドメイン直下の.htaccessにリダイレクトの記述をしています。 サーバーはGMOのiCLUSTAで、sslはジオトラストです。 http://○○○.jp/ にアクセスした場合に、 https://ssl.○○○.jp/ へリダイレクトされるようにしたいです。 .htaccessの記述内容です # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress RewriteEngine on RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://ssl.○○○.jp/$1 [R=301,L] この記述をしていますが、リダイレクトされたりされなかったりの不安定な状態です。 されないことの方が多いのでどの条件で動いているのかがわかりません。 RewriteCond %{HTTPS} on を、 RewriteCond %{HTTPS} off にするとリダイレクトされますが、処理がループされていますという表示が出てしまいます。 どのような記述をすればうまくいくのでしょうか?

  • 301リダイレクトの例外処理

    WEBサイト全体に 拡張子がhtmとhtmlが混在していて管理がわずらわしいので、 .htaccessで下記のような設定をしました。 ドメイン直下に.htaccessを置いているので、サイト全体でこの設定が有効に なっているのですが、あるフォルダだけこれが適用されないように 設定をしたいと思います。 いろいろやってみたのですが、今ひとつ正常に動いてくれません。 どのようにすればいいのでしょうか。 -------------------------------------------------------------- Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^XXX.jp RewriteRule ^(.*)$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.htm RewriteRule ^(.*)index.htm$ http://www.XXX.jp/$1 [R=301,L] -------------------------------------------------------------- サーバーはApache/1.3.42 .htaccessファイルを置いているのは、ドメイン直下です。

  • もう限界です間違い教えてください mod_rewrite .htacsessのりダイレクト

    間違い教えてください エイチティティアクセスファイルに 1番 RewriteEngine on RewriteCond %{HTTP_HOST} ^(hoge\.jp)(:80)? RewriteRule ^(.*) ​http://www.hoge.jp/$1​ [L] 2番 RewriteEngine on RewriteRule ^/$i/$ $i.php?a=$a 上の二つ記述してます 2番が効きません ○○.phpを/○○/ にするだけです 以上

  • .htaccessを使用したURLの書き換え。

    .htaccessを使用したURLの書き換え方法について、ロリポップの手順を読んでその通りにしたのですが上手く行きません。どなたかご存知の方がおられましたら、助けていただけないでしょうか。お願い致します。 はじめまして。インターネットに関しては超初心者の者です。 今頃になって気付いたのですが、私が作ったwebサイトがwww有りでは表示され、www無しでは表示されません。 全てを統一させたいので、ネットで見つけた「301リダイレクト」という方法でwww無しの方に統一させたいのですが、何度やっても上手く行きません。。。(泣) ムームドメインで独自ドメインを作ってロリポップでアップしているのですが、 ロリポップの公式のwebサイト→http://lolipop.jp/manual/hp/htaccess-08/で説明されているように設定しているつもりなのですが、なにが間違っているのでしょうか? お分かりの方がおられましたら教えて下さい。お願いします。 現在の状況は。。。 macのテキストエディットを使って1.htaccess.txt等の名前でファイルを作る。 ~~~~~~~~~~~~~ RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.hogemoge\.com RewriteRule ^(.*) http://hogemoge.com/$1 [R=301,L] ~~~~~~~~~~~~~ と作る。 (*質問* この時のテキストエンコードは(Shiftjis)でいいのでしょうか?ここで間違っている様な気もしているのです。) 2.ロリポップのFTPサーバのルートにアップする (*質問2*ルートサーバというのは何も指定しない時の「/」のフォルダでいいのでしょうか?) 3.アップ後にファイル名を「.htaccess」に変更する (*質問3*この時のテキストエンコーディングの指定はどのようにしたら良いのでしょうか?) 4.『.htaccess』のパーミッション(属性)を『604』に変更します。 という手順で何度もやり直しているのですが、全然上手く行きません。 また他のページでよんだのですが、 『ロリポップのサブドメインも、独自ドメインに統一しておいた方がいいので、 5行目の「▲▲▲」と「lolipop」のところは、ご自分のものに変更して下さい。』 ↓ Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www.kanngosi\.com RewriteRule ^(.*)$ http://kanngosi.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^(▲▲▲\.lolipop\.jp)(:80)? RewriteRule ^(.*)$ http://kanngosi.com/$1 [R=301,L] このようにした方が良いのでしょうか? 全く解らずに本当に困ってしまっています。 助けて下さい。 どうぞ宜しくお願い致します。

  • .htaccessファイル設置エラーの原因

    .htaccessファイルの設置エラーの原因についてお尋ねします。 下記の内容の.htaccessを置きたいのですが、最初の4行の ErrorDocumenet だけを入れてアップロードしていたときは問題なかったのですが、 Options +FollowSymLinksを3つ足すと、 500 Internal Server Error になりホームページが表示できなくなります。 もともと他のサーバー(CPI)で使って問題なかった内容なので、文法エラー などではないと思うのですが。 原因として可能性のあるものは何でしょうか。 ------------------------------------------------- ErrorDocument 401 http://XXX.jp/error401.html ErrorDocument 404 http://XXX.jp/error404.html ErrorDocument 403 http://XXX.jp/error403.html ErrorDocument 500 http://XXX.jp/error500.html Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^XXX.jp RewriteRule ^(.*)$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.XXX.jp/$1 [R=301,L] Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.htm RewriteRule ^(.*)index.htm$ http://www.XXX.jp/$1 [R=301,L] ------------------------------------------------- Webサーバーはさくらインターネット、Apache/1.3.42 .htaccessファイルを置いているのは、ドメイン直下です。

  • Zend Frameworkの.htaccessが分からない

    ので教えてください。 .htaccess: SetEnv APPLICATION_ENV development RewriteEngine On RewriteBase /zend23/kubo/public RewriteCond %{REQUEST_FILENAME} -s [OR] #(1) RewriteCond %{REQUEST_FILENAME} -l [OR] #(2) RewriteCond %{REQUEST_FILENAME} -d #(3) RewriteRule ^.*$ - [NC,L] #(4) RewriteRule ^.*$ index.php [NC,L] #(5) において (1),(2),(3)はどういう意味でしょうか? また (4),(5)においてRewriteRuleは(5)だけだとまずいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • SuiteXでの.haccessの設置の仕方

    suiteXでマルチドメインで運用をしたいのですが、www.aaa.jpとaaa.jpのドメインがあり、aaa.jpへアクセスされるとwww.aaa.jpへアクセルするようにしたいと思っています。 suiteX内のマルチドメイン設定ツールで下記のように設定しました。 # This file is made by RewriteRule Tool. # Enable RewriteEngine. RewriteEngine On # 404 Error for Multidomain Directories. RewriteCond %{HTTP_HOST} ^centia.jp$ RewriteCond %{REQUEST_URI} ^/(www.aaa.jp|aaa.jp)/ RewriteRule ^(.*)$ /$1 [L,R=404] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www.aaa.jp|aaa.jp) RewriteCond %{REQUEST_URI} !^/(www.aaa.jp|aaa.jp)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] .htaccessについては全く分からない者ですいません。 aaa.jpにアクセスするとwww.aaa.jpへアクセスするにはどのように記述したらよいですか?

  • .htaccessのRewriteRuleエラー

    PHPのフレームワークを使って、サイトを作成しているのですが、 .htaccessの設定でつまずいております。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php 上記のコードはフレームワークを使う時の お決まりのようなコードなのだと思うのですが、 これはコピペして問題無く動作しております。 ※このコードは下記ページのものをコピペしました。 http://www.yiiframework.com/doc/guide/1.1/ja/topics.url#sec-7 しかし、この既存の.htaccessファイルに下記の通り、 www無しのアクセスをwww有りのurlに転送させるための コードを追加すると、サイト内のリンクが切れてしまいます。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^mydomain.com //これを追加した RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] //これを追加した RewriteRule . index.php 記述方法が誤っているのだと思うのですが、どのように記述すれば、 正常に動くのでしょうか?

    • ベストアンサー
    • PHP
  • さくらサーバーでURLの正規化ができません。

    wwwをなし、index.htmlをともに、無しにしたいのですが、うまくいきません。 以前ににも、同じような質問があったので、いろいろ試してみました。 さくらサーバーのマルチドメインでサイトを作ってます。 さくらインターネットはURLの正規化で一般的に記述する「Options +FollowSymLinks」が使えないということでこちらのサイトを参考に「.htaccess」を作成しました。 /www/のところにアップし、種類も.htaccesファイルになっているようなのですが、 wwwをつけて、検索すると、wwwがついたままで、無しで検索するとないままの表示です。 index.htmlをつけてると、そのまま、index.htmlと付いたまま表示されます。 参考サイト http://d.hatena.ne.jp/web-ma/20100301/1267415998 ▼wwwあり・なし RewriteEngine on RewriteCond %{HTTP_HOST} ^lusso-me.jp RewriteRule ^(.*)$ http://www.lusso-me.jp$1 [R=301,L] ▼index.htmlあり・なし RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.lusso-me.jp$1 [R=301,L] ほかのサイトもチェックして、いろいろやってみたのですが、エラーもでず、変化がありません。 よろしくお願いします。