.htaccessで動的urlを静的urlに変換する方法

今回は.htaccessを使って動的URLを静的URLに変換する方法について説明します。
 

動的URLと静的URL

まずは動的URLと静的URLとは何かについて説明します。

動的URL

動的URLとはたとえば以下のようなURLとなります。

https://tadworks.jp/result.php?keyword=中華料理&address=東京

 
検索結果ページのURLなどでよく見かけるかと思いますが、これはGETパラメータ(クエリパラメータ)と呼ばれるものでURLに可変の情報を付加してページに伝えることができます。

この仕組みによってひとつのページに可変の情報を渡して、その情報によって表示する内容を変えるといったことが可能になります。

静的URL

一方、静的URLというのは以下のようなURLとなります。

https://tadworks.jp/search/中華料理/東京/

 
一般的なディレクトリ型のURL構造ですね。
 

動的URLを静的URLに変換する

ここまでで動的URLと静的URLの違いについてはご理解頂けたものと思いますが、実は動的URLを静的URLに変換する方法というのがあります。

なぜわざわざこんなことをするのか不思議に思われるかと思いますが、こういった変換を行うには以下のようなメリットがあると考えられます。

変換のメリット

  • ・SEOに有利である
  • ・メール本文やSNSにURLを記載するときに切れない
  • ・URLを覚えやすい
  • ・パラメータ名を隠蔽できる

SEO対策における有効性は実際のところわかりませんが、その他メリットもあるため基本的に重要なページは静的URLへの変換を行うようにしています。

ワードプレス等のCMS、また、CakePHP等のフレームワークでは実はこの変換がされています。
 

.htaccessによる動的URL・静的URL変換方法

動的URLから静的URLへの変換は、.htaccessファイルを使って実現できます。先ほどのURL事例に従って記述例を紹介します。

RewriteEngine on
RewriteBase /

RewriteRule ^search/(.*)/(.*)/$ results.php?keyword=$1&address=$2 [QSA,L]
RewriteRule ^search/(.*)/(.*)$ results.php?keyword=$1&address=$2 [QSA,L]

上記記述をした.htaccessファイルをサイトのルートディレクトリに設置して完了となります。

.htaccess内のRewriteRuleルールの名称が重複すると正常に変換が行われないためネーミングには注意してください。

投稿者プロフィール

たーさん代表者
東海大学工学部を卒業後、東芝情報システム株式会社(旧グループ会社含む)に入社。半導体(SRAM)の開発チームにて、Unix環境でのPerlを用いた業務自動化プログラムの開発など、エンジニアとしての確かな基礎と緻密な論理的思考力を培う。

その後、東証上場企業である株式会社ザッパラスへ。Web・モバイルの最前線で、数多くのユーザーに愛されるコンテンツ制作業務に従事。ここで「ユーザー目線に立った魅力的なWebコンテンツの企画・制作ノウハウ」を深く学ぶ。

開発・システム側から見た「堅牢なロジック」と、制作・ユーザー側から見た「伝わるコンテンツ」の双方を実務で経験した強みを活かし、フリーランスとして独立。

現在は、ウイングアーク1st株式会社の「データのじかん」運営チームに参画するなど、大手・中小企業のWeb運営・開発パートナーとして活動。完全在宅でありながら、固定IPの完備や厳格なセキュリティポリシーの遵守を徹底し、企業のインフラや本番環境を安全に支える「チームの一員」として高い信頼を得ています。

見た目の美しさはもちろんのこと、内部の構造やWordPressのカスタマイズ、運用・セキュリティまでを見据えた、技術的バックボーンのある高品質なWebサイト・システム制作をワンストップでご提供しています。

コメントを残す

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

CAPTCHA