Apacheで動的URLを静的URLに書き換えるmod_rewrite設定方法

Apacheのmod_rewriteは、動的URLを静的URLに変換するための強力なツールです。たとえば、example.com/product.php?id=123 のような動的URLを example.com/product/123 のように変換することで、SEO効果を高め、ユーザビリティを向上させることができます。

動的URLはデータベースと連携して生成されることが多く、クエリパラメータを含む形式になりますが、検索エンジンはこのようなURLをあまり好みません。また、ユーザーにとっても長く複雑なURLは覚えにくく、リンクをシェアする際に不便です。

本記事では、Apacheのmod_rewriteモジュールを使って、これらの動的URLを静的でシンプルな形式に変換する方法を詳しく解説します。基本的なインストール手順から、実際のRewriteルールの作成、正規表現を用いた柔軟な書き換え方法までを紹介します。さらに、SEO効果を最大化するための設定例や、よくあるエラーへの対処法も取り上げます。

このガイドを通じて、Apacheのmod_rewriteを使ったURL最適化の技術を習得し、ウェブサイトのパフォーマンスと利便性を向上させる手助けとなれば幸いです。

目次

mod_rewriteとは?基本概念と役割


mod_rewriteは、Apache HTTPサーバーに標準で搭載されているモジュールで、URLの書き換えを行うための強力なツールです。主に動的URLを静的URLに変換するために使用され、ウェブサイトの利便性向上やSEO対策に役立ちます。

mod_rewriteの役割


mod_rewriteの主な役割は、ユーザーがアクセスするURLをサーバー内部で異なるURLに変換することです。たとえば、example.com/product.php?id=123 のような動的なURLを example.com/product/123 という静的な形式に変えることができます。これにより、以下のような利点が得られます。

  • SEOの向上:検索エンジンは、クリーンでシンプルなURLを好む傾向があります。これにより、検索結果のランキングが向上します。
  • ユーザビリティの向上:短くわかりやすいURLはユーザーが覚えやすく、直接アクセスする際の負担が軽減されます。
  • セキュリティの強化:クエリパラメータが隠れることで、外部からの不正なアクセスを防ぎやすくなります。

動的URLと静的URLの違い

  • 動的URLexample.com/page.php?id=45&cat=2
  • 静的URLexample.com/page/45/cat/2

動的URLはデータベースと連携して生成されるため、ページの数が増えても柔軟に対応できます。しかし、SEOやユーザー視点では静的URLの方が好まれます。

mod_rewriteを活用することで、動的に生成されたページでも、静的な形式でアクセスできるようになります。これが、ウェブサイトの利便性とパフォーマンスを大きく左右する要因となるのです。

mod_rewriteのインストールと有効化


Apacheでmod_rewriteを使用するには、まずモジュールがインストールされ、有効化されていることを確認する必要があります。ほとんどのApache環境にはmod_rewriteがデフォルトで含まれていますが、手動で有効化する作業が必要になる場合があります。

mod_rewriteのインストール確認


以下のコマンドを実行して、mod_rewriteが既にインストールされているか確認します。

apachectl -M | grep rewrite


このコマンドでrewrite_moduleがリストに表示されれば、mod_rewriteは既に有効です。表示されない場合は、以下の手順でmod_rewriteをインストールおよび有効化します。

インストール手順

Ubuntu/Debian系

sudo a2enmod rewrite
sudo systemctl restart apache2

CentOS/RHEL系

sudo yum install mod_rewrite
sudo systemctl restart httpd

Apache設定ファイルでmod_rewriteを有効化


次に、Apacheの設定ファイル(/etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf)を編集し、AllowOverrideディレクティブをAllに設定します。

<Directory /var/www/html>
    AllowOverride All
</Directory>

この設定により、.htaccessファイル内でRewriteルールを記述できるようになります。設定を保存したら、Apacheを再起動して変更を反映させます。

sudo systemctl restart apache2

mod_rewriteが正しく動作するか確認


Apacheが再起動した後、動作確認を行います。以下の内容を.htaccessファイルに記述し、mod_rewriteが機能するかテストします。

RewriteEngine On
RewriteRule ^test$ test.html


example.com/testにアクセスして、test.htmlが表示されれば、mod_rewriteは正しく動作しています。

これで、mod_rewriteのインストールと有効化が完了です。次は、実際にRewriteルールを作成してURLの書き換えを行います。

基本的なRewriteルールの作成方法


mod_rewriteを使用する際は、Apacheの設定ファイルや.htaccessファイルにRewriteルールを記述します。ここでは、シンプルなURL書き換えルールを例に、基本的な使い方を解説します。

Rewriteルールの基本構文


Rewriteルールは以下のような形式で記述します。

RewriteEngine On
RewriteRule パターン 書き換え後のURL [オプション]
  • RewriteEngine On:mod_rewriteを有効化する。
  • RewriteRule:書き換えルールを定義するコマンド。
  • パターン:一致させるURLの正規表現。
  • 書き換え後のURL:変換先のURL。
  • オプション:ルールの動作を制御するフラグ。

基本的な書き換え例


例1:example.com/products/123example.com/product.php?id=123 に書き換えるルール

RewriteEngine On
RewriteRule ^products/([0-9]+)$ product.php?id=$1
  • ^products/([0-9]+)$products/の後に数字が続くURLに一致。
  • product.php?id=$1$1は正規表現のキャプチャグループで、([0-9]+)にマッチした部分がここに入ります。

ルールの動作例

  • アクセスURL:example.com/products/123
  • 内部処理:example.com/product.php?id=123

簡単なリダイレクトの例


例2:example.com/old-pageexample.com/new-pageにリダイレクト

RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]
  • R=301:301リダイレクト(恒久的リダイレクト)。
  • L:最後のルールとして処理を終了。

ルールの動作例

  • アクセスURL:example.com/old-page
  • リダイレクト先:example.com/new-page

ファイル拡張子の変更例


例3:.htmlを省略してアクセスできるようにする

RewriteEngine On
RewriteRule ^(.+)$ $1.html [L]
  • ^(.+)$:任意のURLにマッチ。
  • $1.html:アクセスしたURLの後ろに.htmlを付けて処理。

ルールの動作例

  • アクセスURL:example.com/about
  • 内部処理:example.com/about.html

ルールのテスト方法


設定が完了したら、実際にブラウザでアクセスして動作を確認します。ルールが期待通り動作しない場合は、Apacheのエラーログを確認して原因を特定しましょう。

次のステップでは、正規表現を活用した応用的なRewriteルールを解説します。

正規表現を用いたURL書き換えの実例


mod_rewriteでは正規表現を活用することで、より柔軟で高度なURL書き換えが可能になります。複数のパターンを一括で処理したり、特定の条件に一致するURLのみを変換することができます。ここでは、正規表現を使ったRewriteルールの具体例を紹介します。

基本的な正規表現の使用例


例1:カテゴリと記事IDを持つURLの書き換え

  • URL:example.com/articles.php?category=sports&id=456
  • 書き換え後:example.com/sports/456
RewriteEngine On
RewriteRule ^([a-z]+)/([0-9]+)$ articles.php?category=$1&id=$2 [L]
  • ^([a-z]+):アルファベット小文字の文字列(カテゴリ名)をキャプチャ。
  • /([0-9]+):数字(記事ID)をキャプチャ。
  • $1$2は、それぞれカテゴリとIDを示します。

動作例

  • アクセスURL:example.com/sports/456
  • 内部処理:example.com/articles.php?category=sports&id=456

任意の文字列を含むURLの処理


例2:ブログ記事のタイトルを含むURLを変換

  • URL:example.com/blog/my-awesome-post
  • 書き換え後:example.com/blog.php?title=my-awesome-post
RewriteEngine On
RewriteRule ^blog/(.+)$ blog.php?title=$1 [L]
  • (.+)は任意の文字列に一致し、その部分が$1として渡されます。

動作例

  • アクセスURL:example.com/blog/my-awesome-post
  • 内部処理:example.com/blog.php?title=my-awesome-post

複数のパターンに一致するルール


例3:静的ファイルの拡張子を省略可能にする

  • URL:example.com/about
  • 書き換え後:example.com/about.htmlまたはexample.com/about.php
RewriteEngine On
RewriteRule ^(.+)$ $1.html [L]
RewriteRule ^(.+)$ $1.php [L]


このルールでは、アクセスしたURLに.html.phpが自動的に補完されます。

動作例

  • アクセスURL:example.com/about
  • 内部処理:example.com/about.htmlまたはexample.com/about.php

URLの一部を動的に置き換える例


例4:年、月、記事IDを含むURLを動的に処理

  • URL:example.com/2024/01/123
  • 書き換え後:example.com/article.php?year=2024&month=01&id=123
RewriteEngine On
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]+)$ article.php?year=$1&month=$2&id=$3 [L]
  • [0-9]{4}:4桁の数字(年)
  • [0-9]{2}:2桁の数字(月)
  • [0-9]+:1つ以上の数字(記事ID)

動作例

  • アクセスURL:example.com/2024/01/123
  • 内部処理:example.com/article.php?year=2024&month=01&id=123

条件付きリダイレクトの例


例5:wwwの有無を統一するリダイレクト

  • wwwなしでアクセスされた場合、wwwを追加する
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  • RewriteCondは条件文で、ホスト名がexample.comの場合にルールを適用します。
  • R=301は恒久的なリダイレクトを示します。

動作例

  • アクセスURL:example.com/about
  • リダイレクト先:www.example.com/about

正規表現を活用することで、サイト全体のURL構造を効率的に管理できるようになります。次は、静的URLへのリダイレクト設定例を詳しく解説します。

静的URLへのリダイレクトの設定例


mod_rewriteを使用して、動的URLを静的URLにリダイレクトすることで、よりクリーンで覚えやすいURLを提供できます。これにより、ユーザーエクスペリエンスの向上やSEO効果が期待できます。ここでは、具体的なリダイレクトの設定例を紹介します。

クエリパラメータを静的URLに変換


動的なクエリパラメータを持つURLを静的URLに変換する基本的な例です。

  • URL:example.com/product.php?id=123
  • 変換後:example.com/product/123
RewriteEngine On
RewriteRule ^product/([0-9]+)$ product.php?id=$1 [L]
  • ^product/([0-9]+)$product/の後に数字が続くURLを対象とします。
  • product.php?id=$1:クエリパラメータidにキャプチャした数字を渡します。

動作例

  • アクセスURL:example.com/product/123
  • 内部処理:example.com/product.php?id=123

カテゴリ別のページリダイレクト


カテゴリごとに異なるページにリダイレクトする例です。

  • URL:example.com/sportsexample.com/technology
  • 変換後:example.com/category.php?name=sports
RewriteEngine On
RewriteRule ^([a-zA-Z]+)/?$ category.php?name=$1 [L]
  • ^([a-zA-Z]+)/?$:英字のカテゴリ名をキャプチャし、末尾のスラッシュがあってもなくても一致します。
  • category.php?name=$1:カテゴリ名をnameパラメータとして渡します。

動作例

  • アクセスURL:example.com/sports
  • 内部処理:example.com/category.php?name=sports

HTMLファイルをPHPファイルにリダイレクト


静的HTMLファイルのURLをPHPスクリプトにリダイレクトすることで、見た目は静的でも動的に処理が可能です。

  • URL:example.com/contact
  • 変換後:example.com/contact.php
RewriteEngine On
RewriteRule ^(contact|about|services)$ $1.php [L]
  • ^(contact|about|services)$contactaboutなどの特定のURLに一致します。
  • $1.php:一致した部分に.phpを付与して処理します。

動作例

  • アクセスURL:example.com/contact
  • 内部処理:example.com/contact.php

ディレクトリ風URLを静的ファイルにリダイレクト

  • URL:example.com/docs/guide
  • 変換後:example.com/docs/guide.html
RewriteEngine On
RewriteRule ^docs/(.+)$ docs/$1.html [L]
  • ^docs/(.+)$docs/の下に任意のパスが続くURLに一致します。
  • $1.html:キャプチャした部分に.htmlを付与します。

動作例

  • アクセスURL:example.com/docs/guide
  • 内部処理:example.com/docs/guide.html

特定のページを恒久的にリダイレクト


特定のURLを新しいURLに恒久的にリダイレクトする方法です。

  • URL:example.com/old-page
  • 変換後:example.com/new-page
RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]
  • R=301:301リダイレクトで恒久的にリダイレクトします。
  • L:一致した場合はこのルールで終了します。

動作例

  • アクセスURL:example.com/old-page
  • リダイレクト先:example.com/new-page

リダイレクト設定の確認方法


設定が完了したら、ブラウザで対象のURLにアクセスして正しくリダイレクトされるかを確認します。期待通りの動作をしない場合は、Apacheのエラーログを確認し、ルールに誤りがないかをチェックしてください。

次は、SEO効果を高めるためのmod_rewrite設定例を解説します。

SEO効果を高めるmod_rewrite設定例


mod_rewriteを活用することで、検索エンジンが認識しやすいクリーンなURL構造を実現し、SEO(検索エンジン最適化)効果を高めることができます。ここでは、SEOに有効なRewriteルールの設定例を紹介します。

ダイナミックURLを静的URLに変換


動的なクエリパラメータを含むURLは、検索エンジンにとって扱いにくい場合があります。シンプルで意味のある静的URLに書き換えることで、検索エンジンがページをインデックスしやすくなります。

  • URL:example.com/product.php?id=456
  • 変換後:example.com/product/456
RewriteEngine On
RewriteRule ^product/([0-9]+)$ product.php?id=$1 [L]
  • 効果
  • クエリ文字列を排除し、シンプルなURLに変換
  • 商品ページのURLが分かりやすくなり、検索エンジンの評価向上

カテゴリと記事タイトルをURLに反映


カテゴリや記事タイトルをURLに組み込むことで、検索エンジンがページの内容を理解しやすくなります。

  • URL:example.com/article.php?category=tech&title=seo-tips
  • 変換後:example.com/tech/seo-tips
RewriteEngine On
RewriteRule ^([a-z]+)/(.+)$ article.php?category=$1&title=$2 [L]
  • 効果
  • URLにカテゴリや記事タイトルを含めることで、ページ内容を明確に伝達
  • 検索結果でのクリック率向上

リダイレクトで重複コンテンツを防止


重複コンテンツはSEOに悪影響を及ぼします。wwwの有無や末尾のスラッシュが異なるURLが同一ページを指す場合、それを統一することでSEO評価を保つことができます。

wwwあり・なしを統一

  • URL:example.comwww.example.comにリダイレクト
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

末尾スラッシュの有無を統一

  • URL:example.com/pageexample.com/page/にリダイレクト
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+[^/])$ http://example.com/$1/ [R=301,L]
  • 効果
  • 検索エンジンのインデックスを1つに統一し、評価が分散することを防止
  • ユーザーがURLを入力する際の一貫性を確保

リダイレクトによる古いURLのSEO価値引き継ぎ


ページのURLを変更した場合でも、301リダイレクトを利用してSEO評価を引き継ぐことができます。

  • URL:example.com/old-pageexample.com/new-pageにリダイレクト
RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]
  • 効果
  • ページのSEO評価を保持したまま、新しいURLに誘導
  • ユーザーが古いブックマークを使用しても正しいページにアクセス可能

URLの正規化


URLの正規化は、不要なパラメータを削除してクリーンなURLを保つことが目的です。

  • URL:example.com/index.php?page=homeexample.com/homeに書き換え
RewriteEngine On
RewriteRule ^home$ index.php?page=home [L]
  • 効果
  • 不必要なindex.phpを排除し、SEOに強いURL構造を維持

パンくずリストのためのURL構造


検索エンジンがパンくずリスト(breadcrumb)を正しく理解できるように、階層的なURLを構築します。

  • URL:example.com/products/phones/iphone
RewriteEngine On
RewriteRule ^products/([a-z]+)/([a-z]+)$ products.php?category=$1&item=$2 [L]
  • 効果
  • 階層構造が明確になり、サイト全体の構造が検索エンジンに正しく伝わる
  • パンくずリストが自動生成され、クリック率向上

まとめ


mod_rewriteを使ったSEO対策は、検索エンジンの評価を向上させる重要な技術です。動的URLを静的に変換し、正規化や重複コンテンツの防止を徹底することで、ウェブサイトの検索結果での順位向上が期待できます。

URLリダイレクトのテストとデバッグ方法


mod_rewriteで設定したRewriteルールが正しく動作しているかを確認し、問題があれば速やかに修正することが重要です。ここでは、リダイレクトのテストとデバッグ方法について解説します。

1. ブラウザで直接テストする


最も簡単な方法は、設定後にブラウザで対象のURLに直接アクセスすることです。設定したRewriteルールが期待通りに動作するか確認できます。

  • example.com/old-pageにアクセスし、新しいexample.com/new-pageへリダイレクトされるか確認。
  • 301リダイレクトが適用される場合は、ブラウザのアドレスバーでURLが変更されます。

2. cURLコマンドを使用して確認


cURLを使えば、リダイレクトの詳細情報を確認できます。以下のコマンドでリダイレクト先やステータスコードを確認します。

curl -I http://example.com/old-page
  • -Iオプションはヘッダー情報のみを取得します。
  • 結果例:
  HTTP/1.1 301 Moved Permanently
  Location: http://example.com/new-page
  • 確認ポイント
  • ステータスコードが301または302であることを確認
  • Locationヘッダーが期待したURLであるかを確認

3. Apacheのエラーログを確認


mod_rewriteのエラーが発生している場合は、Apacheのエラーログを確認することで原因を特定できます。

tail -f /var/log/apache2/error.log
  • エラーログには、mod_rewriteの不正な構文や一致しないルールの詳細が記録されます。
  • ログの例:
  [rewrite:error] [pid 12345] [client 192.168.1.1] AH10411: Rewritten query string is empty for URL /old-page

4. Rewriteログを有効にして詳細を確認


Rewriteログを有効にすると、Rewriteルールがどのように処理されているか詳細に確認できます。Apacheの設定ファイルに以下を追加します。

LogLevel alert rewrite:trace8
  • trace8は最高レベルの詳細度を示します。
  • 再起動して設定を反映させます。
sudo systemctl restart apache2

5. .htaccessファイルの検証


.htaccessファイルの記述ミスは、リダイレクトが正しく動作しない原因になります。構文エラーを防ぐために以下を確認してください。

  • RewriteEngine Onが記述されているか。
  • 各RewriteRuleの正規表現に誤りがないか。
  • ルールの順序が正しいか。
RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]

6. リダイレクトチェッカーの使用


オンラインのリダイレクトチェッカーを使えば、複数回リダイレクトが発生していないかを確認できます。

URLを入力するだけでリダイレクトの状態が確認できます。

7. 問題発生時の対処法

  • ルールが適用されない場合
  • AllowOverride Allhttpd.confまたはapache2.confで設定されているか確認。
  • .htaccessが正しいディレクトリに配置されているか確認。
  • 無限リダイレクトが発生する場合
  • 条件分岐(RewriteCond)を追加してルールが無限に適用されないようにします。
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/new-page
RewriteRule ^old-page$ /new-page [R=301,L]

まとめ


mod_rewriteを使用したリダイレクトのテストとデバッグは、SEOやユーザーエクスペリエンスに直結する重要な作業です。cURLやApacheログ、オンラインツールを活用して、リダイレクトが期待通りに動作するかをしっかり検証しましょう。次は、mod_rewriteを使用する際によくあるエラーとその対処法について解説します。

よくあるエラーとその対処法


mod_rewriteを使用する際には、構文エラーや設定ミスが原因でリダイレクトが期待通りに動作しないことがあります。ここでは、mod_rewriteで発生しやすいエラーとその対処法を具体的に解説します。

1. RewriteRuleが動作しない


問題:RewriteRuleを設定してもURLが書き換わらない。
原因

  • mod_rewriteが有効になっていない
  • .htaccessの場所が間違っている
  • AllowOverrideが適切に設定されていない

対処法

  1. mod_rewriteが有効か確認
apachectl -M | grep rewrite
  • rewrite_moduleが表示されていない場合は、以下のコマンドで有効化。
sudo a2enmod rewrite
sudo systemctl restart apache2
  1. AllowOverride Allが設定されているか確認
  • Apacheの設定ファイル(/etc/apache2/apache2.conf)に以下を追加。
<Directory /var/www/html>
    AllowOverride All
</Directory>
  • 設定後にApacheを再起動。
sudo systemctl restart apache2

2. 無限リダイレクト(リダイレクトループ)


問題:ブラウザで「このページはリダイレクトの回数が多すぎます」と表示される。
原因:同じURLが繰り返しリダイレクトされている。

対処法:RewriteCondを使い、既にリダイレクトされたURLに再度リダイレクトが適用されないようにする。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/new-page
RewriteRule ^old-page$ /new-page [R=301,L]
  • RewriteCondでリダイレクト対象外のURLを指定することでループを防ぎます。

3. 404エラーが発生する


問題:リダイレクト後に「404 Not Found」エラーが表示される。
原因

  • 書き換え先のURLが存在しない
  • パスが間違っている

対処法

  1. リダイレクト先のファイルが存在するか確認。
ls /var/www/html/new-page
  1. 存在しない場合は正しいファイルやディレクトリを指定するか、新規作成する。
RewriteEngine On
RewriteRule ^about$ /about.html [L]

4. 500 Internal Server Error


問題:設定後、サーバーエラーが発生しサイトが表示されない。
原因

  • .htaccessファイルの構文ミス
  • 設定ファイルの記述ミス

対処法

  1. エラーログを確認し、エラーの詳細を把握。
tail -f /var/log/apache2/error.log
  1. .htaccessに構文エラーがないか確認。
RewriteEngine On
RewriteRule ^contact$ contact.php [L]
  • 構文が正しいか再度確認し、不要なスペースや記述ミスがないかをチェック。

5. wwwの有無でアクセスできない


問題www.example.comはアクセス可能だが、example.comではアクセスできない。
原因wwwの有無が統一されていない。

対処法:リダイレクトで統一する。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  • example.comへのアクセスをwww.example.comにリダイレクト。

6. クエリパラメータが消える


問題:URLにクエリパラメータが含まれているのに、リダイレクト後にパラメータが消失する。
原因:RewriteRuleでクエリ文字列が引き継がれていない。

対処法QSAオプションを使用してクエリ文字列を維持する。

RewriteEngine On
RewriteRule ^product/([0-9]+)$ product.php?id=$1 [QSA,L]
  • QSAは「Query String Append」の略で、既存のクエリ文字列を維持してリダイレクトします。

7. 特定のURLだけがリダイレクトされない


問題:一部のURLがリダイレクト対象外になってしまう。
原因:Rewriteルールの記述順序が影響している。

対処法:より具体的なルールを先に記述する。

RewriteEngine On
RewriteRule ^admin-panel$ /admin-dashboard [L]
RewriteRule ^(.*)$ /homepage [L]
  • 汎用ルールより前に、特定のURLに対するルールを記述することで正しく処理されます。

まとめ


mod_rewriteで発生しやすいエラーを理解し、適切に対処することで、スムーズにURLリダイレクトを設定できます。特にリダイレクトループや500エラーはよくあるトラブルですが、条件分岐(RewriteCond)やエラーログの確認で迅速に問題を特定しましょう。

まとめ


本記事では、Apacheのmod_rewriteを使用して動的URLを静的URLに書き換える方法について解説しました。

mod_rewriteの基本概念やインストール、有効化の手順から始まり、シンプルなRewriteルールの作成方法、正規表現を用いた高度な書き換えテクニック、さらにはSEO効果を高める設定例まで詳しく紹介しました。

また、リダイレクトのテストやデバッグ方法、発生しやすいエラーとその対処法についても触れ、実際の運用で役立つポイントを押さえました。

mod_rewriteを適切に活用することで、検索エンジンに評価されやすく、ユーザーがアクセスしやすいクリーンなURL構造を実現できます。ウェブサイトのパフォーマンスや利便性向上を目指し、mod_rewriteを積極的に導入してみてください。

コメント

コメントする

目次