リンクをクリップボードにコピー
コピー完了
ホームページを作成し、アドレスをhttpからhttpsに変更しました。現状、httpでもhttpsでも、またwwwがありでもなしでもホームページが開きます。ホームページの本を読んでいるとアドレスは一本化しないといけないと書いてあるので、試みているところですがうまくいきません。301リダイレクト という方法で作業を進めることはわかったのですが、一度ローカルファイル表示されるフォルダに.htaccessファイルを入れてプットしてみたところ、ホームページが表示されなくなってしまいました。ちょっとびっくりぽん!でローカルファイルとリモートサーバーから.htaccessを削除したところ、表示されなくなったホームページがふたたび表示されるようにはなりました。そこで可能であれば、私の作業の間違っているところをご指摘いただけたらとってもうれしく思います。
.htaccessファイルはテキストで作成しております。(私はマックでDWを使用しております。)
.htaccessの内容は
httpからhttpsへ一本化するために以下の3行を入力
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ ○○○○○○○○/$1 [R=301,L]
※○○○○○○○○に一本化したいアドレスを記入
wwwをなしにするために以下の3行を入力
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ ○○○○○○○○/$1 [R=301,L]
※○○○○○○○○に一本化したいアドレスを記入
ファイルには下記のようにしました。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ ○○○○○○○○/$1 [R=301,L]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ ○○○○○○○○/$1 [R=301,L]
このテキストをローカルファイルに表示されるフォルダの中に入れました。テキストで作成したときは「a.htaccess.txt」というファイル名になっているので、フォルダの中に入れてからaと.txtを消して「.htaccess」と名前を変更しました。
この状態でDWを立ち上げて、「サイトで表示」を開き、.htaccessをプットして更新したら、ホームページそのものが表示されなくなってしまいました。もしかしたらと「.htaccess.txt」でもう一度同じようにしたけど表示されませんでした。そこでこれはたいへんと「.htaccess.txt」と「.htaccess」をローカルファイルとリモートサーバーから削除したところ、手をつける前の状態には戻れました。私の何がいけなかったのでしょうか?ご指導いただけたら幸いです。
リンクをクリップボードにコピー
コピー完了
基本的な所で"https://"と正規表現部分のグルーピングが抜けている点が問題ではないかと思います。
まとめると以下のようになるかと…
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [L,R=301]
※ちょっと抜けてたので書き足しました。
リンクをクリップボードにコピー
コピー完了
ありがとうございます。もう一度トライしてみます。
リンクをクリップボードにコピー
コピー完了
とりあえずひとつずつ潰すのが得策かと思います。一息にやろうとしてエラーが出ると原因の特定が難しくなります。
リンクをクリップボードにコピー
コピー完了
うまくいきませんでした、くやしいです。
今日はここまでにして、またトライしてみます。
とりあえずサイトでみつけた
<meta http-equiv=”refresh” content=”0;URL=’https:// ○ ○ ○ ○ ○ ○ ○ ○”>
で対応します。
リンクをクリップボードにコピー
コピー完了
[301 リダイレクト]あたりで検索し、お手本として記述してくれているタグをテキストファイルにコピー、
ご自身のURL部分だけ変更。
上記のような手順で作業していらっしゃいますか?
リンクをクリップボードにコピー
コピー完了
はい、URLを「https://○○○.com」とすると
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{https://○○○.com} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^ http://%1%{https://○○○.com} [L,R=301]
とした「.htaccess」を作成して試してみました。
.htaccess作成ツールというサイトをみつけまして
https://www.htaccesseditor.com/#a_redirect
「wwwあり・なし統一」と「リダイレクト 」を試してみようと今作業をはじめたところですが、
「リダイレクト 」のサイトパスを入力というところが、なにを入力すればよいのかよくわからないので調べているところです。
みなさんのいろいろなアドバイス、感謝です。
リンクをクリップボードにコピー
コピー完了
まずは利用されているサービスの公式ドキュメントを探してみてはどうでしょう。多くのレンタルサーバー業者は基本的な利用方法をヘルプ文書として用意しています。
また、ユーザーサポートへ問い合わせてみてもいいかもしれません。
リンクをクリップボードにコピー
コピー完了
so-netのサービスを利用してホームページを開いていたのですが、そのso-netがそのサービスを終了させるということで、代わりのサービスをお聞きしたところ「レンタルサーバーHS」を紹介されたので、そのサーバーを利用しております。レンタルサーバーHSに尋ねるso-netレンタルサーバーHS のFAQを紹介されました。
この中で該当しそうなのが、
Q:自分で用意した.htaccessファイルは使用できますか?
A:.htaccessはご利用可能ですが、ファイル制御に関する表記には対応しておりません。
ご利用可能なディレクティブはAuthConfigとLimitのみとさせていただいております。ディレクティブに関しては、Apacheの公式サイト等でご確認ください。
このQ&Aについては、Apacheの公式サイトはまださらっとみただけですが、ホームページをつくることに不慣れな私には、ちょっとたじろいでしまいそうな、よくわからない単語がたくさんちらばっているようにみえたので、「あとにしよ」と思い閉じてしまいました。
もうひとつのQ&A があり
Q:リダイレクトの方法を教えてください。
A:リダイレクトの方法は、様々な方法がございます。参考として、一般的な設定方法を記載いたします。
■HTMLの場合
<HTML>
<HEAD>
<TITLE>タイトル</TITLE>
<META http-equiv="refresh" CONTENT="秒数;URL=" TARGET="_blank">http://ドメイン名">
</HEAD>
<BODY>
ページが変わらない方は<a href="こちら" TARGET="_blank">http://ドメイン名/">こちら</a>
</BODY>
</HTML>
■PHPの場合
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://ドメイン名/");
?>
※「お客さまドメイン名」は設定通知書に記載された、ご利用ドメインに変更して設定をお願いいたします。
記載した設定方法は、参考例となりますので、お客さまホームページでの動作保障等は、行っておりません。
このQ&Aについてはいまホームページに書き込み、試しているところです。
リンクをクリップボードにコピー
コピー完了
tsutetoka さん、こんにちは。
@Ten A さんの最初の返信にあったコードを、.htaccessへそのままコピペすればOKで、もしこのコードをご自身のURLへ書き換えていらっしゃったら、それは不要です。
https://%{HTTP_HOST}%{REQUEST_URI}
https://%1%{REQUEST_URI}
は、お使いのサーバーのURLへ汎用的に置き換えてくれます。
わたしは↓のように、<IfModule>でくくって使っています。
※<IfModule>が要るかどうかは、お使いのサーバーによってもかわるかもしれません。
ご参考まで。(^_^)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [L,R=301]
</IfModule>
リンクをクリップボードにコピー
コピー完了
わお!そうなんですか!!
早速試してみます。
ありがとうございます。
リンクをクリップボードにコピー
コピー完了
試してみたところ
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator.
という表記が出ました。私の作業の何かが間違っているようです。
私はまず教えていただいた文をコピペでテキストファイルに持っていきます。
そのときファイルのタイトルはa.htaccess.txtとしております。
このファイルをドリームウィーバー でローカルファイルと繋がっているフォルダの中に入れます。
そして「サイトで表示」を開き、ローカルファイルの中にa.htaccess.txtが現れるようにしたら、
「a」と「.txt」を消して「.htaccess」という状態にしました。
この状態にしてから「.htaccess」を選択してプットしてリモートサーバーのほうに「.htaccess」が現われるようにします。
その後、ホームページの更新をするときと同じような作業をします。
そうしてサファリやFirefoxのお気に入りから、作業したホームページを開いてみたところ、冒頭の
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator.
が現れました。
サーバー管理者連絡をとあります。これまでの作業をレンタルサーバーHSに伝えることが、
次なる作業になるのだろうかと思案してます。
いろいろご教授いただき、みなさまにはほんと感謝いたしております。
リンクをクリップボードにコピー
コピー完了
サーバーは、「レンタルサーバーHS」をお使いなのですね。
※先程は、入れ違いで書き込んでいて、いま知りました。
tsutetoka さんもご覧になっていると思いますが、
https://www.so-net.ne.jp/option/rentalserver_hs/faq/answer02.html
に「.htaccessはご利用可能ですが、ファイル制御に関する表記には対応しておりません。ご利用可能なディレクティブはAuthConfigとLimitのみとさせていただいております。」とあるように、
「レンタルサーバーHS」では、.htaccessによるリダイレクト(rewrite設定)が許可されていないようです。
---------------
<余談> ↑のページとは、逆のこと(.htaccessによるリダイレクトができる)と記載されているページもありました。どっちなのかしら?? 一応、レンタルサーバーの管理者の方へ、できるか/できないかを聞いてみてもいいかもしれません。
▼SSL証明書| So-net レンタルサーバーHS | サービス一覧 | オプションサービス | So-net
https://www.so-net.ne.jp/option/rentalserver_hs/option_ssl.html
※「http」から「https」へのリダイレクト設定の項を参照
---------------
そのため、tsutetoka さんご自身が書いていらっしゃった
<meta http-equiv=”refresh” content=”0;URL=’https:// ○ ○ ○ ○ ○ ○ ○ ○’”>
を、ページ毎に埋め込むか、meta refreshを使うか……ぐらいしか思いつきません。
参考:javascriptとmeta refreshのリダイレクト方法とメリットデメリット
https://wakarukoto.com/?p=24355
しかしながら、.htaccessファイルを使わないリダイレクトは、Googleからあまり好まれていないので、ベストというよりは、ベターな方法であることも、あわせてお伝えいたします。
参考:meta refreshとは?転送(リダイレクト)によるSEO効果と設定の注意点
https://digital-marketing.jp/seo/what-is-meta-refresh/
以上、あまりお役に立てませんでしたが、補足までいたしました。
リンクをクリップボードにコピー
コピー完了
ありがとうございます。so-netさんに問い合わせを試みているのですが、どうも電話だけでしか対応していなくてなかなかつながらずにおります。つながったら確認して.htaccessによるリダイレクト ができるのかどうか確認して、その答えをこのページにもご報告いたします。
リンクをクリップボードにコピー
コピー完了
so-netレンタルサーバーHSでは、.htaccessでの301リダイレクト はできないのかもしれないということで、さきほどso-netさんと連絡がとれましたので確認したところ、「.htaccessでの301リダイレクト はできます。」との返答をいただきました。
そこでまずはさっそく▼SSL証明書| So-net レンタルサーバーHS | サービス一覧 | オプションサービス | So-net
https://www.so-net.ne.jp/option/rentalserver_hs/option_ssl.html
※「http」から「https」へのリダイレクト設定の項を参照にあるテキストをそのままコピペして.htaccessを作成し、実行してみたところ、ダメでした。
RewriteEngine on
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
ただ「できる!」という返事だったので、私の操作の何かが違うのだろうと今一度トライしてみます。
ドリームウィーバー 上のローカルファイルに.htaccessが表示されるようにして、リモートサーバーへも表示されるようにして、更新していく方法が間違っているのでしょうか?
リンクをクリップボードにコピー
コピー完了
tsutetoka さん、こんにちは。
>「http」から「https」へのリダイレクト設定の項を参照にあるテキストをそのままコピペして.htaccessを作成し、実行してみたところ、ダメでした。
ということは、以前の書き込みにあった「Internal Server Error」が、またでてしまったということでしょうか?
ファイルの作成方法は、このスレッドの最初の書き込みにある操作手順で、問題はないと思います。
ですがエラーになるということなので、もしかしたら「サーバーにアップロードされた.htaccessファイルのコードが違う、改行コードが違う」などの問題があるのかもしれません。
So-net レンタルサーバーHSには、ファイルマネージャという機能があるようです。こちらを用いて、サーバーにある.htaccessファイルを開いてみて、正常にコードが読めるか確認したり、コードをもう一度コピペして上書きしてみたりを試すのはいかがでしょう?
※サーバーで準備されているツールであれば、大丈夫だと思いますし、これでダメなら、So-net レンタルサーバーHSさん側に尋ねやすくなると思います(ぜんぶ、自社の製品で操作していることになりますから……)。
以上、ご参考になれば幸いです。
(^_^)
リンクをクリップボードにコピー
コピー完了
たびたびですみません、同じエラー「Internal Server Error」が表示されました。
その後ちょっと手順をかえて作業してみたところ、うまく行ったような気がしております。
ホームページはしっかりと表示され、http://~で検索しても開くのはhttps://~で開いてくれます。
作業は次のように行いました。
まずa.htaccess.txtのファイルをつくりました。この時点ではまだなにも書き込んでおりません。これをドリームウィーバー の「サイトで表示」で表示されるローカルファイルとつながっているフォルダに入れました。ドリームウィーバー を開いて「サイトで表示」で開くとa.htaccess.txtが現れるので、ここでaと.txtを消します。この状態にしてから.htaccessをダブルクリックして何も書いていない状態のところに、これまで教えていただいたテキスト
RewriteEngine on
RewriteCond %{HTTPS} on (offはonにしました。)
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [L,R=301]
をコピペでもっていきました。
この状態でサイトを更新したらうまくいったようです。
Ten Aさま
Kazue Moriさま
たまねぎまーくんさま
感謝です。
いろいろありがとうございました。
リンクをクリップボードにコピー
コピー完了
ずっと気がかりな案件だったのですが、解決した…のでしょうかね。
であれば良かったです。
構文的な問題では無く、ファイルのアップのしかただったのでしょうかね。
Dreamweaverだけではなく、他のFTPアプリなどを試すと早く解決したのかもしれませんね。
リンクをクリップボードにコピー
コピー完了
えーと、わたしの書いたのが動かないのはそのサービスが.htaccessのディレクティブを拒否する仕様だからです。そのレンタルサーバーでは.htaccessでのリダイレクトはできません。JavaScriptを組み込むなどしてリダイレクトする以外手がないのではないかと思います。
リンクをクリップボードにコピー
コピー完了
ご指摘ありがとうございます。そのレンタルサーバーでは.htaccessでのリダイレクト はできませんということは、いろいろなサイトをのぞいてみて、どのサイトもすすめる301リダイレクトをすることができないということですね。ちょっとショックです。ちょっと考えてみます。ありがとうございました。