.htmlの非表示化
- 2020.05.14
- Web制作 便利Tips
- .html非表示

.htaccessを用いた.htmlの非表示化について
モビライズではデフォルトで.htmlの拡張子が入ります。
そもそも拡張子は必ず必要なのでしょうか?答えはyesです。サイトの各ファイルにはファイル拡張子(.htmlなど)を付ける必要があることです。削除はできません。
しかし、サイト運営者によっては、.html拡張子を非表示にしたい場合もあるかも知れません。
拡張子があることによってブラウザは初めて各ページのファイルを読むことができます。この拡張子を非表示にする場合は、サーバサイド(.htaccessファイル)で表示のコントロールを行います。
.htaccessへの記述

.htaccessファイルに次の記述を行います。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
記述が終わればサーバへアップロードします。
.htaccessファイルは必ず、index.htmlファイルが置かれている場所へ設置します。
.htmlなしでもページが表示されるか、ブラウザ上で試してみましょう!
URLをindex.htmlなしに統一する
モビライズを使って下層ページは.htmlを表示させたい。
トップページだけはindex.htmlを非表示にしたいという場合もあろうかと思います。
その場合は、以下のように.htaccessファイルに記述します。
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://yourdomain.com/$1 [R=301,L]
yourdomain.comはあなたのドメイン名に置き換えて記述してください。
www有り無しを統一する
その他、サイト公開時に取り組んでおきたい、.htaccessのコントロールとして、wwwのありなしサイトの統一です。
クローラーが別サイトとして認識し、重複サイトと判断されない為にwww.の有無を統一しましょう。
例えばsample.comとwww.sample.comの両方でアクセスできてしまうと、クローラーに正しくインデックスされるのに時間を要してしまいます。
さらに重複コンテンツサイトと判断されるとオーガニック経由での集客に大きく影響が出てしまいます。
.htaccessへの記述法はいくつかありますが、以下の記述を追加しましょう。
wwwありに統一する
RewriteCond %{HTTP_HOST} ^sample\.comRewriteRule ^(.*)$ http://www.sample.com/$1 [R=301,L]
wwwなしに統一する
RewriteCond %{HTTP_HOST} ^www\.sample\.comRewriteRule ^(.*)$ http://sample.com/$1 [R=301,L]
※ SSLの有無やドメインは適宜置き換えてご使用ください。
.htaccessファイル作成時の注意点

.htaccessファイルは大変便利なファイルです。様々な挙動動作を複数記述して、コントロールできます。
しかし注意点もあります。無料サーバでは動作しない場合があります。必ず有料のサーバをホスティングしましょう。
もう一点、ソースの最後には必ず改行コードを入れるようにしましょう。
改行コードはCR,CRLF,LFと種類がありますが、LFがオススメです。
-
前の記事
オリジナル404エラーページ設置 2020.05.14
-
次の記事
robots.txtロボッツドットテキスト書き方 2020.05.14