.htaccessによるURL書き換えを有効にするには
MAMP環境でApacheのURL書き換え機能「mod_rewrite」を利用するには、いくつかの設定変更が必要です。本記事では、macOS上のMAMPでmod_rewriteを有効にする手順をわかりやすく解説します。
mod_rewriteとは?
Apacheのモジュールの一つで、URLの書き換え(リダイレクトやクリーンURL化)を実現するための機能です。
例:
localhost/sample.php?id=123
↓
localhost/sample/123
WordPressやLaravelなど、さまざまなCMS・フレームワークでもこのモジュールを利用しています。
1. httpd.conf でmod_rewriteを有効化
MAMPのApache設定ファイルを編集します。
手順
- 以下のファイルを開きます:
/Applications/MAMP/conf/apache/httpd.conf
- 次の行を探します:
#LoadModule rewrite_module modules/mod_rewrite.so
- 先頭の
#を削除して、コメントアウトを解除します:
LoadModule rewrite_module modules/mod_rewrite.so
2. .htaccess を有効にするための設定
mod_rewrite は .htaccess ファイルと組み合わせて使われることが一般的です。これを有効にするために、AllowOverride の設定を All に変更します。
手順
httpd.conf の中から、以下の <Directory> ブロックを探します:
<Directory "/Applications/MAMP/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AllowOverride None を AllowOverride All に修正します:
<Directory "/Applications/MAMP/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
3. Apacheを再起動する
設定変更を反映させるには、MAMPの管理画面からApacheを再起動する必要があります。
4. 動作確認(.htaccess)
テスト用に以下のような .htaccess ファイルを作成し、プロジェクトディレクトリに配置します。
RewriteEngine On
RewriteRule ^hello$ hello.php [L]
http://localhost/yourproject/hello にアクセスして hello.php が実行されれば成功です。
まとめ
| 手順 | 内容 |
|---|---|
| 1 | httpd.conf の mod_rewrite を有効化(コメント解除) |
| 2 | .htaccess を使うために AllowOverride All に設定 |
| 3 | Apache を再起動 |
| 4 | 動作確認用 .htaccess を設置 |



コメント