こちらでは、
とあるURLアドレスから、
ドメイン・ディレクトリが、全く異なるURLアドレスに301リダイレクトする方法、htaccessの書き方について写真でわかりやすく説明しています。(゚∀゚)ノ
http://aaa.com/bbb
↓
https://xxxxzzzz.jp/ttt/vvv.html
(^_^;)
目次でございます。
まず、301リダイレクトの正常・異常のチェック方法について
301リダイレクトのための、.htaccessの記述の前に、
設定したリダイレクトが正常にジャンプできているかは、
以下のサイトで確認するようにしましょう。
以下URLをコピーしてアクセスしてください。
SEO関連のサイトで1番信頼性のあるサイトです。ハナサキガニ系列と言えばピンと来るでしょう。ちなみに以下のサイトの名前はオホーツクです。サザエさん一家みたいなネーミングのこだわりを感じます(笑)
使い方は簡単。リダイレクト元のURLを貼り付けて、クリックすると、OK・NG を表示して教えてくれます。
なぜ、わざわざ 301リダイレクトチェッカーで確認するの?
例えば、クローム ( Chrome )
↓
クロームでアクセス。エラーが出た。
↓
訂正した.htaccessをupし直した。
↓
クロームでアクセス。正しいのにエラーが出た。
これは、ブラウザソフトの「 サイト情報自働収集システム:クッキー 」と呼ばれる機能の弊害。
通常は、クッキーデータが上書きされて積み重なるのですが、なぜか301リダイレクト失敗のデータは上書きされないので、
「 http://xxx.xxx にアクセスしたらエラーとする 」 がずっと生き続けちゃう。
クッキーデータの削除をしたら正常に戻るのですが、そうすると他で利用してる他のサイトのクッキーデータまで削除してしまうことになるので非常に面倒。
よって、
ブラウザでは、301リダイレクト・チェックはしないこと。
リダイレクトチェッカーで行いましょう。
トップページから → 異なるディレクトリURLのトップページへ リダイレクト
トップページだけを、他のドメインのトップページへ飛ばす方法。
基本中の基本です。
こちらが、.htaccess ( エイチティーアクセス ) ファイルの記述です。
オレンジの部分の、
RweriteRule ^★$ ★ [R=301,L] の、
★部分が毎回変わります。
グレーの部分は毎回一緒。
イフ・モジュルー モード_リライト.シー
オレンジの記述の説明です。
まずは、IfModule mod_rewrite.c のタグについて。
意味は、.htaccessで301に関する指示が書いてます、という宣言です。
書かないと301リダイレクトで飛べません。
スラッシュ付きの、/ifModuleを最後に忘れずに記述して、閉じましょう。
リライト エンジン オン
RewriteEngine On の記述について。
意味は、書き換えを行います、という指示。
リライト ルール
RewriteRule の記述について。
意味は、
どこのURLを、どこのURLへ、どうやって飛ばすか? という指示。
上の図で重要なのが、
どこからのみ、開始と終わりの合図 ^$ がある。
.htaccessは、パスの関係で、ディレクトリ内の、index.html に反応するため、^index.html$ と記述せずに、省略して ^$ で構わない。
そして、半角スペースを忘れてはダメ。
トップページから → トップページ以外へ
基本2
トップページだけを、他のドメインのどこか途中のページに飛ばす方法。 ( トップページ以外へ飛ばす )
リダイレクト先の、nnnディレクトリの中には、
・index.html と、
・tttttt.html の、
2つのhtmlファイルが存在しています。
まず、index.htmlへのジャンプについて。
ディレクトリ内のindexは、ディレクトリ名だけでもアクセスできます。
https://yyy.com/nnn/index.html が正式ですが、
https://yyy.com/nnnでも、index.htmlを指定していることに同義なんです。
よって
短い、https://yyy.com/nnn で良いです。
------------------------
続いて、tttttt.htmlへのジャンプについて。
ディレクトリ内のindexという名前ではないhtmlなので、正しく書き込む必要があります。
よって、
https://yyy.com/nnn/tttttt.html となります。
ディレクトリ内の 各htmlから → 各URLへ
応用
リダイレクト元に、複数のhtmlファイルがある場合。
さらに、それぞれ別のURLに飛ばしたい場合。
リダイレクト元の、ディレクトリ内に複数htmlファイルがあっても大丈夫です。
リダイレクト元の、index.htmlは、^$ でOK
リダイレクト元の、index以外 の.htmlは、名前+.htmlまで記述しましょう。
^sss.html$
^qqq.html$
ということです。
リダイレクト先のURLについては、それぞれ普通に記述してください。
ディレクトリが、一段深い場合
応用2
今までのリダイレクト元は、
サーバーのPublic_html直下のhtmlファイルでした。
では、1つ階層を潜った深いディレクトリではどうでしょう?
パブリックHTMLディレクトリでも、1段潜ったディレクトリでも、2段潜ったディレクトリでも変わりはありません。
要は、.htaccessを置いたら、その置いた場所が基準になるということ。やり方は変わりません。
ディレクトリ内の 各html → すべて同じURLへ
最後
例えば、同じジャンルの記事を書いて、index.thmlを含め3ページupしていたんだけど、内容を1ページにまとめてしまいたいという場合に使います。
この場合、
RewriteRule ^$ https://yyy.com/xxx [R=301,L]
RewriteRule ^sss.html$ https://yyy.com/xxx [R=301,L]
RewriteRule ^qqq.html$ https://yyy.com/xxx [R=301,L]
でも良いのですが、
(.*) を使うと、ディレクトリ内.htmlをすべて指定することができます。
リライトルールはこれ1行でOK
RewriteRule ^(.*)$ https://yyy.com/xxx [R=301,L]
.htaccess ファイルの作り方。
最後に、.htaccess ファイルの作り方
1. まず、新規メモ帳を作る htaccess.txt
2. 上で説明した記述を入力
3. 保存
4. サーバーにアップロード
5. アップロード画面より、直接操作して名前をhtaccess.txtから、.htaccess に変更して保存でOK.
6. 301リダイレクトチェッカーで調べる。
↓ ↓ ↓ ↓ ↓
¥1,944
けやき坂46、わたなべりかの写真集
送料無料