終了

301リダイレクト の方法

Community Beginner ,
Jul 13, 2021 Jul 13, 2021

リンクをクリップボードにコピー

コピー完了

ホームページを作成し、アドレスを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」をローカルファイルとリモートサーバーから削除したところ、手をつける前の状態には戻れました。私の何がいけなかったのでしょうか?ご指導いただけたら幸いです。

 

 

 

 

 

 

キーワード
手順

表示

426

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

基本的な所で"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]

 

 

 

※ちょっと抜けてたので書き足しました。

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

ありがとうございます。もう一度トライしてみます。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

とりあえずひとつずつ潰すのが得策かと思います。一息にやろうとしてエラーが出ると原因の特定が難しくなります。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

うまくいきませんでした、くやしいです。

今日はここまでにして、またトライしてみます。

とりあえずサイトでみつけた

<meta http-equiv=”refresh” content=”0;URL=’https:// ○ ○ ○ ○ ○ ○ ○ ○”>

で対応します。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
積極的な参加者 ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

[301 リダイレクト]あたりで検索し、お手本として記述してくれているタグをテキストファイルにコピー、

ご自身のURL部分だけ変更。

 

上記のような手順で作業していらっしゃいますか?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

はい、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あり・なし統一」と「リダイレクト 」を試してみようと今作業をはじめたところですが、

「リダイレクト 」のサイトパスを入力というところが、なにを入力すればよいのかよくわからないので調べているところです。

 

みなさんのいろいろなアドバイス、感謝です。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

まずは利用されているサービスの公式ドキュメントを探してみてはどうでしょう。多くのレンタルサーバー業者は基本的な利用方法をヘルプ文書として用意しています。

また、ユーザーサポートへ問い合わせてみてもいいかもしれません。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

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についてはいまホームページに書き込み、試しているところです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

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>

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

わお!そうなんですか!!

早速試してみます。

ありがとうございます。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

試してみたところ

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に伝えることが、

次なる作業になるのだろうかと思案してます。

いろいろご教授いただき、みなさまにはほんと感謝いたしております。

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

サーバーは、「レンタルサーバー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/ 


以上、あまりお役に立てませんでしたが、補足までいたしました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

ありがとうございます。so-netさんに問い合わせを試みているのですが、どうも電話だけでしか対応していなくてなかなかつながらずにおります。つながったら確認して.htaccessによるリダイレクト ができるのかどうか確認して、その答えをこのページにもご報告いたします。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 15, 2021 Jul 15, 2021

リンクをクリップボードにコピー

コピー完了

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が表示されるようにして、リモートサーバーへも表示されるようにして、更新していく方法が間違っているのでしょうか?

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 15, 2021 Jul 15, 2021

リンクをクリップボードにコピー

コピー完了

tsutetoka さん、こんにちは。

 

>「http」から「https」へのリダイレクト設定の項を参照にあるテキストをそのままコピペして.htaccessを作成し、実行してみたところ、ダメでした。

 

ということは、以前の書き込みにあった「Internal Server Error」が、またでてしまったということでしょうか?

 

ファイルの作成方法は、このスレッドの最初の書き込みにある操作手順で、問題はないと思います。

 

ですがエラーになるということなので、もしかしたら「サーバーにアップロードされた.htaccessファイルのコードが違う、改行コードが違う」などの問題があるのかもしれません。

 

So-net レンタルサーバーHSには、ファイルマネージャという機能があるようです。こちらを用いて、サーバーにある.htaccessファイルを開いてみて、正常にコードが読めるか確認したり、コードをもう一度コピペして上書きしてみたりを試すのはいかがでしょう?

 

※サーバーで準備されているツールであれば、大丈夫だと思いますし、これでダメなら、So-net レンタルサーバーHSさん側に尋ねやすくなると思います(ぜんぶ、自社の製品で操作していることになりますから……)。

 

以上、ご参考になれば幸いです。
(^_^)

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 15, 2021 Jul 15, 2021

リンクをクリップボードにコピー

コピー完了

たびたびですみません、同じエラー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さま

たまねぎまーくんさま

感謝です。

いろいろありがとうございました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
積極的な参加者 ,
Jul 16, 2021 Jul 16, 2021

リンクをクリップボードにコピー

コピー完了

最新

ずっと気がかりな案件だったのですが、解決した…のでしょうかね。

であれば良かったです。

構文的な問題では無く、ファイルのアップのしかただったのでしょうかね。

 

Dreamweaverだけではなく、他のFTPアプリなどを試すと早く解決したのかもしれませんね。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

えーと、わたしの書いたのが動かないのはそのサービスが.htaccessのディレクティブを拒否する仕様だからです。そのレンタルサーバーでは.htaccessでのリダイレクトはできません。JavaScriptを組み込むなどしてリダイレクトする以外手がないのではないかと思います。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Jul 14, 2021 Jul 14, 2021

リンクをクリップボードにコピー

コピー完了

ご指摘ありがとうございます。そのレンタルサーバーでは.htaccessでのリダイレクト はできませんということは、いろいろなサイトをのぞいてみて、どのサイトもすすめる301リダイレクトをすることができないということですね。ちょっとショックです。ちょっと考えてみます。ありがとうございました。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines