派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

動的サイトで使われる「URLリライト」の基礎知識

「Webのなんで?」を解決する新連載!回答者は、書籍『スラスラわかるHTML&CSSのきほん』の著者、狩野 祐東さんです。

今回のテーマは、「URLのパスがフォルダ構造と違うのはなぜ?」という疑問。実はそこには「URLリライト」という仕組みが関係しています。本記事では、その仕組みをやさしく解説します。

URLのパス、なんでフォルダ構造と違う?

Q. URLにはWebサーバーに保存されたファイル場所を示す、フォルダ構造が書かれていると聞いています。ですが、この前機会があってWebサーバーに保存されているファイルの中身を見てみたら、フォルダ構造はURLとはぜんぜん違っていました。どうなっているの?

動的Webサイトでは多くの場合、「URLリライト」という技術を使って、正規のURLをプログラム的に書き換えて、ブラウザのアドレスバーなど目に見えるところには異なるURLを表示するようになっています。

そのため、URLのパスの部分に書かれたものが、そのままWebサーバーのフォルダ構造になっているわけではありません。

では、なぜこのような仕組みが使われているのでしょうか。その理由を一つずつ解説します。

URLの構造を見てみよう

URLとは、Web上にあるHTMLファイルや画像ファイルなど、すべてのデータがどこにあるかを示す、住所のようなものです。


▲URLの各部名称。今回話題にするのは「パス」と「クエリパラメーター」の部分

ブラウザのアドレスバーに表示されるのはURLですし、HTMLを知っている人なら、<a>タグのhref属性や、<img>タグのsrc属性に書かれているのもURLです。

実はURLは、必ずしもWebサーバー内に保存されているファイルのフォルダ構造を示しているとは限りません。

今回は、フォルダ構造を示していないURLがどんなときに、どのように使われているかを見てみます。

▼URLの基本をもう少し確認したい方はこちらから

URLの構造を知って読めるようになろう

まずは「静的サイト」と「動的サイト」の違い

フォルダ構造を示していないURLがどのようなものか知るために、まず「静的サイト」と「動的サイト」の違いを説明します。

■違いは「レスポンス」の前に処理があるかどうか

ブラウザのアドレスバーにURLが入力されたり、別のページのリンクをクリックしたりすると、そのURLが指し示す、インターネット上のWebサーバーにリクエストが送られます。

リクエストを受け取ったWebサーバーは、URLをもとにファイルを探して、ブラウザに送り返します。これをレスポンスといいます。

 

■「静的サイト」のレスポンス

レスポンスのとき、事前に作成されたHTMLファイルをそのまま返すWebサイトのことを「静的サイト」といいます。

静的サイトの場合、Webサーバーは、URLのパスの部分に書かれたフォルダ構造をたどってファイルを探し、HTMLファイルを返します。

 

■「動的サイト」のレスポンス

静的サイトに対し、リクエストを受け取ったWebサーバー側で動作するプログラムを使って、その場でHTMLデータを生成して返すWebサイトを「動的サイト」といいます。

■現在の多くのWebサイトは「動的サイト」

動的サイトは、規模が大きくてページ数も多く、頻繁に更新するWebサイトでよく使われます。また、コメントやお問い合わせ、サイト内検索といった機能は、動的サイトでないと作れません。

このように、動的サイトのほうができることが多いため、現在は広告のランディングページや、ごく小規模なWebサイトを除き、多くのWebサイトは動的サイトになっています。

いまご覧になっているこの「IT STAFFING エンジニアスタイル」も、動的サイトです。

動的サイトのURLが複雑になる理由

動的サイトでは、サーバー側のプログラムを動かす関係上、URLが複雑になりがちです。

複雑なURLは、人が見ても、どんなページか、なにが書かれているかが想像できません。

また、Googleなどの検索サイトで検索結果の上位にリストされることを目指す「SEO対策」でも、不利だと言われています。

そこで、ブラウザのアドレスバーなどに表示される、人の目に触れるURLをよりシンプルなものに書き換える技術が開発されました。それがURLリライトです。

URLリライトとは、サーバー側で動作するプログラムが、「複雑だが正規のURL」と「シンプルなURL」を相互に書き換える機能です。

複雑なURLの例
複雑なURLとは、HTML(.html)以外の拡張子のファイルがついていたり、「?」で始まるクエリパラメーターがついているようなURLのことをいいます。
▼複雑なURLの典型例
 
シンプルなURLの例
シンプルなURLにはいくつかのパターンがありますが、どんな場合も共通して、拡張子がなく、クエリパラメーターもつきません。また、全体に短めです。
さらに、URLを見ただけである程度どんなページか予測できるようになっています。
▼シンプルなURLの例1〜記事のID番号がついている

▼シンプルなURLの例2〜記事の日付になっている
▼シンプルなURLの例3〜記事のタイトルがついている

URLリライトの仕組み

ブラウザ側はシンプルなURLを使ってリクエストし、サーバー側でそのURLを正規のURLに書き換えます。

サーバー側のプログラムはその正規のURLを使って処理をし、ブラウザにHTMLデータを返します(レスポンス)。

ブラウザがリクエストしてからHTMLが返ってくるまでの間、目に見えるのはずっと、シンプルなURLのままです。


▲URLリライトの処理の流れ

URLリライト機能が使われているサイトの注意点

ただし、URLリライト機能で作られたURLは、Webサーバー内のフォルダ・ファイル構造とは異なるものになります。

たとえば先ほどの図で紹介したシンプルなURLでは、パスの中に「2029」「08」「29」が含まれていますが、そんな名前のフォルダはサーバー内にありません。

動的サイトの開発や運営業務を担当する際は、「URLリライト機能を使って、もとのURLを書き換えている可能性が高いこと」と、「書き換えられたURLのパスは、Webサーバー内のフォルダ・ファイル構造を示しているわけではない」ことを知っておいたほうがよいでしょう。

実際、リライトされたシンプルなURLのパスと、サーバー内のフォルダ構造はまったく違います。

まとめ

多くの動的サイトでは、複雑なURLをシンプルにするために、URLリライト機能が使われています。

URLリライト機能が使われている場合、ブラウザのアドレスバーに表示されているURLは、Webサーバー内のフォルダ構造とはまったく違うものになります。

ですから、URLを見ても、Webサーバー内のフォルダ・ファイル構造を調べることはできません。

とくに、動的サイトの開発、リニューアル、運営をするときには、URLリライトという機能があることを知っていると、いざというときに落ち着いて対応できるでしょう。

 
【筆者】 狩野 祐東さん
UIデザイナー、エンジニア、書籍著者。アメリカ・サンフランシスコでUIデザイン理論を学ぶ。帰国後会社勤務を経てフリーランス。2016年に株式会社Studio947を設立。Webサイトやアプリケーションのインターフェースデザイン、インタラクティブコンテンツの開発を数多く手がける。各種セミナーや研修講師としても活動中。著書に『スラスラわかるHTML&CSSのきほん』『これからのJavaScriptの教科書』(SBクリエイティブ)『改訂新版HTML&CSSデザインレシピ集』 (技術評論社)など多数。
https://studio947.net
@deinonychus947

※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。
※本稿に記載されている情報は2026年6月時点のものです。