*

Apache:mod_rewriteでURLを正規化

公開日: : Apache, web(一般)


今回はApacheの「 mod_rewrite」を使用してURLの正規化の方法を掲載します。

「 mod_rewrite」は自分でWebサーバーを立ててサイト運営する場合は、必ずといって良いほど使用することになるので、基本的な設定方法を覚えておくと色々な場面で役に立つと思います。

URLの正規化とは

同じ内容のページが複数ある場合に指定ページに統一することを言います。

「www」の有り無し(http://www.○○.co.jp と http://○○.co.jp)、や「index.html」の有り無し(/ と /index.html)がよくある例になります。

正規化していない場合、上記例のアドレスはどちらでアクセスしても同一ページが表示されますが、検索エンジンからは同一サイトに同一内容のページが存在するとみなされてしまい、SEO対策上、不利となってしまいます。

このような問題を解消するために正規化をおこないます。

mod_rewrite 設定

専用サーバでconfファイルが変更できる場合はconfファイルを、共有サーバなどでconfファイルが変更できない場合は「.htaccess」に設定を記述します。

基本的な記述方法ですが、RewriteEngineをONにしたあとに、RewriteCondとRewriteRuleを組み合わせながら記述していきます。

RewriteEngine On

⇒ Rewriteを「On」にします。(rewriteを利用する場合に記述します)

RewriteCond 「対象」 「条件」

⇒ 「対象」が「条件」と一致した場合に次の行を実行します。

RewriteRule 「対象」 「結果」

⇒ 「対象」を「結果」に変換します。

下記に最も良く利用されるrewriteの具体例を記載します。

例「www」の有無を統一する (wwwがある場合にwwwを除く)

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

例「/index.html」を「/」に統一する

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

 

mod_rewriteをうまく活用してURLを適切に管理していけば、検索エンジンでの表示順位がもしかしたら上がるかもしれませんね。

ad_right_top

関連記事

blog_logo_small

WordPressでソースコードを綺麗に表示:SyntaxHighLighterEvolved

本ブログはプログラミングに関する技術ブログなので、記事内にソースコードを記述することがかなり多いので

記事を読む

blog_logo_small

MediaWikiのCentOSへのセットアップ

MediaWikiをCentOSへインストールしてみたので掲載します。 事前準備 MediaWi

記事を読む

blog_logo_small

Apache:configファイルのチェック

Apacheの設定を変更することは良くあるかと思いますが、記述を間違えていて起動エラーでサーバーを止

記事を読む

blog_logo_small

Apache:サーバー起動時の自動起動設定

linuxサーバーでサーバー起動時にApacheを自動起動する為の設定です。chkconfigをon

記事を読む

blog_logo_small

Apache:CentOSへのApacheインストール

linuxサーバーへのapacheのインストール手順について掲載します。   環境

記事を読む

blog_logo_small

MediaWiki:GoogleAdsense広告を表示する方法[HTMLets]

mediawikiのコンテンツ部分にAdsense広告を表示する方法です。 コンテンツ部は普通

記事を読む

blog_logo_small

【Apache】 Aliasを設定してサブディレクトでDocumentRoot以外を参照する

今回はApacheのAlias設定について紹介したいと思います。この方法を使うと、あるサブディレクト

記事を読む

blog_logo_small

【Apache】 ReverseProxy(リバースプロキシ)を設定してサブディレクトで別サーバーの内容を表示

今回はApacheのリバースプロキシ設定について紹介したいと思います。この方法を使うと、urlのある

記事を読む

blog_logo_small

Apache:KeepAliveの設定

ブラウザでwebページを表示する場合、htmlに加えて複数のcssやjavascriptなどのファイ

記事を読む

blog_logo_small

はてなブックマーク数を表示する方法

今回は自分のブログやサイトに、はてなブックマークの被リンク数の画像を表示する方法を紹介します。

記事を読む

google以外広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ad_right_top

linux-pen
【cron】秒間隔で定期実行する為の設定方法

コマンドを定期実行させたい場合に利用するcronですが、普通に利用する

blog_logo_small
【Apache】 ReverseProxy(リバースプロキシ)を設定してサブディレクトで別サーバーの内容を表示

今回はApacheのリバースプロキシ設定について紹介したいと思います。

blog_logo_small
【Apache】 Aliasを設定してサブディレクトでDocumentRoot以外を参照する

今回はApacheのAlias設定について紹介したいと思います。この方

no image
2015:新年のご挨拶

明けましておめでとうございます。 昨年はたくさんの方々に当ブログ

blog_logo_small
MySQL:外部ホストからのDBアクセス方法

MySQLではデフォルトで外部ホストからのアクセスを許可していないので

→もっと見る

  • アクセスカウンター
PAGE TOP ↑