MAMPのApacheでmod_rewriteを使うための設定方法

.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設定ファイルを編集します。

手順

  1. 以下のファイルを開きます:
/Applications/MAMP/conf/apache/httpd.conf
  1. 次の行を探します:
#LoadModule rewrite_module modules/mod_rewrite.so
  1. 先頭の # を削除して、コメントアウトを解除します:
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 NoneAllowOverride 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 が実行されれば成功です。


まとめ

手順内容
1httpd.confmod_rewrite を有効化(コメント解除)
2.htaccess を使うために AllowOverride All に設定
3Apache を再起動
4動作確認用 .htaccess を設置

コメント

タイトルとURLをコピーしました