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″にアクセスすることになります。
以下にいくつかの一般的な擬似静的な規則の例を示します。
- URLの`.php`拡張子を隠す:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
- URLのクエリパラメータをパスに書き換える:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?param1=$1¶m2=$2¶m3=$3 [L,QSA]
- URL中の動的パラメータをパスに書き換える:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/([^/]+)/?$ profile.php?username=$1 [L,QSA]
一般的には上記を例として記載していますが、運用時は要件に応じて調整してください。また、.htaccessファイルを利用するためには、mod_rewriteモジュールの有効化がサーバー側で設定されている必要があります。