メニュー 閉じる

アドレスバーの「index.html」を省略する


ソースをガシガシ自分で書いているヒトなら、ソースを書くときに気をつければいいコトではあります。

しかし、HTMLオーサリングツールなんかを使って作っていると、どうしても「index.html」アリとナシのリンクができちゃうことがあるようです。

アドレスバー

これが意外に曲者で、検索エンジンなどで「index.html」アリとナシが同じページなのに両方とも登録されちゃうことがあります。つまり、SEO的によろしくない、ということです。たとえば、

  • http://www.photopierre.com/
  • http://www.photopierre.com/index.html

この2つが、違うページを指し示しているのならば、それはアリだナシだと心配することはありません。でも、たいていのウェブサーバーは、ファイル名(index.htmlなど)を省略すると、

「省略されたファイル名はindex.htmlだ」

と断定するような設定になっています。

それなのに、「index.html」アリとナシが両方とも検索エンジンで表示されちゃったら、アリをクリックするヒトやら、ナシをクリックするヒトやら、クリックが分散してしまい、つまりSEO的によろしくないと言うことになるわけです。

SEO屋に何十万円、何百万円も支払う前に、こゆとこ気にするとよろしいのではないかと思いますので、紹介しておきます。

この度ご案内しますのは、ウェブサーバーがApache(アパッチ)、そのバージョンが2以降、という条件です。しかも、サーバーの貸し主が、「.htaccess」ファイルにアクセスすることを認めているということも条件です。

では、「.htaccess」ファイルを開いて、こんな3行。

  • RewriteEngine on
  • RewriteCond %{THE_REQUEST} ^.*/index.html
  • RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]

阿呆みたいにコピーして貼り付ければ大丈夫です。 2行目なんかよくわからん記号がいくつも出て来ますが、正規表現で書いているだけですから、そのまま真似してください。ただし、「www.example.com」の部分はご自分でお使いのドメインに書き替えてください

これで保存してアップロードすれば、あら不思議。

  • 「http://〜〜/index.html」

にアクセスしても、

  • 「http://〜〜/」

となります。最後のおまじない「[R=301,L]」が付いているのは、「永久に移動しました」という意味です。

無くても動くことは動きますが、行儀の良いまともな検索エンジンならば、その「永久に移動した」というメッセージを読み取って、「〜〜/index.html」を登録することを中止し、移動先として指定した「http://〜〜/」だけを登録するようになるわけです。

wwwアリナシ問題も同様に解決する

同様な問題として「www」アリとナシもありますが、同じ方法で解決できます。

  • RewriteEngine on
  • RewriteCond %{THE_REQUEST} ^.*/index.html
  • RewriteCond %{HTTP_HOST} ^example\.com
  • RewriteRule (.*) http://www.example.com/$1 [R=301,L]
  • RewriteCond %{THE_REQUEST} ^.*/index.html

先に述べたように、2行目は正規表現なので、「.」(ドット)の前に「\」(バックスラッシュ)が入ったり、使うテキストエディタによっては「\」(バックスラッシュ)が「¥」(日本通貨¥マーク)になったり混乱すると思いますが、このままコピーして使えば大丈夫でしょう。

ただし、「www.example.com」はお使いのドメインに変更してください。でも、2行目の「.」(ドット)の前に「\」(バックスラッシュ)は必要なので、消さないようにする必要はあります。「example.co.jp」なら「^example\.co\.jp」となりますからね!

これで、めでたく、「www」ナシで

  • 「http://〜〜/」

にアクセスしてきても、自動的に

  • 「http://www.〜〜/」

に移動するようになるわけです。\(^O^)/

正規表現についての詳細は、グーグル先生に教えて貰ってください。

これ、自分でやればタダですからね!


Posted in ウェブ関連
4 1 件の評価
Article Rating
ウォッチする
通知
0 Comments
インラインフィードバック数
すべてのコメントを表示

関連してるかもしれない記事