PHPの擬似静的規則の書き方

PHPでは、.htaccessファイルを使用して、擬似的な静的ルールを記述できます。以下に簡単な例を示します。

RewriteEngine On
RewriteRule ^article/(\d+)$ article.php?id=$1 [L]

このルールでは”article/123″のようなURLは”article.php?id=123″形式に書き換えられます。その結果、”article/123″にアクセスすると、実際には”article.php?id=123″にアクセスすることになります。

以下にいくつかの一般的な擬似静的な規則の例を示します。

  1. URLの`.php`拡張子を隠す:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
  1. URLのクエリパラメータをパスに書き換える:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?param1=$1&param2=$2&param3=$3 [L,QSA]
  1. URL中の動的パラメータをパスに書き換える:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/([^/]+)/?$ profile.php?username=$1 [L,QSA]

一般的には上記を例として記載していますが、運用時は要件に応じて調整してください。また、.htaccessファイルを利用するためには、mod_rewriteモジュールの有効化がサーバー側で設定されている必要があります。

bannerAds