回復の時トップページは開くのに、リンクページが「Not Found」になる問題の解決方法 -「MAMP」の例

回復の時トップページは開くのに、リンクページが「Not Found」になる問題の解決方法 -「MAMP」の例

2026年3月14日

Macの「MAMP」で「Not Found」エラーが出ないようにするには、以下のようにすると問題を解決することができる。これはMAMP特有のエラーらしい。

MAMPを右クリックすると、以下のように「Finderに表示」が出るので選択。

Finderが開いたら、httpd.confファイルを探す。場所は以下のところにある。

/MAMP/conf/apache/httpd.conf の179行目

この179行目にある項目の前に「#」が付いていて、機能しないようになっている。
この「#」を外すと、リンクが切れた状態のエラーを回避することができるようになる。

これは、Apache HTTP Serverが提供するモジュールの一つで、リクエストされたURLをサーバー内部で別のURLに書き換える(リライトする)機能を持つ機能拡張ツールです。
このモジュールを使用すると、ユーザーに見せるURLと、実際にサーバーが処理するURLを別にすることができるため、非常に高度なURL管理が可能になります。

上記の説明は自分にとって意味不明だが、以下のように#を外した状態にするとこのエラーが出なくなり、トプページからリンクをクリックすると問題なくそのページを開くことが出来るようになる。

#LoadModule rewrite_module modules/mod_rewrite.so(変更前)
    ↓
LoadModule rewrite_module modules/mod_rewrite.so(変更後)

以下が MAMPの/httpd.conf ファイイルのデフォルトの状態。

このコメントアウト「#」を外してMAMPを再起動したらNot Foundが出なくなる。

これは、#LoadModule rewrite_module modules/mod_rewrite.so の #(コメントアウト)を外すことで、Webサーバー(Apache)の「URL書き換え機能(mod_rewrite)」が有効化され、WordPressの動的システムへURLを正しく転送できるようになりパーマリンクが正常に動作するようになるかららしい。

私の場合は以上の設定で問題なくパーマリンクが正常に機能するようになったが、説明では以下の項目も設定する方が良いとのこと。2つが設定されて初めて正常にパーマリンクが機能するとのこと。

もう一つMAMPのApache設定で AllowOverride が None になっている

MAMPで「Not Found (404)」が発生する原因は、先ほど解説したApacheの mod_rewrite が無効になっているケースのほか、MAMP特有の設定ミスが関係している可能性が高い。

最も多い原因として、MAMPのApache設定ファイル(httpd.conf)で、.htaccess の上書きルールが禁止されている可能性がある。

  1. 設定ファイルを開く
    • Mac: /Applications/MAMP/conf/apache/httpd.conf
    • Windows: C:\MAMP\conf\apache\httpd.conf
  2. 該当箇所を検索する
    • ファイル内を Directory や AllowOverride で検索し、ドキュメントルート(通常は htdocs)を指しているブロックを探す。Macでは下の画像のように275行目にあった。
  3. 記述を書き換える:apacheの場合、変更前:AllowOverride None、変更後:AllowOverride All

MAMPを再起動(サーバーを一度止め、再度スタート)。

これでトップページ以外のリンクが「NotFound」になるエラーを解消できる。

多分これで解決すると思うが、もう一つ以下の設定も必要かも。

更にもう一つ、Mac(apacheの場合)では下の画像のように275行目にある。

AllowOverride None → AllowOverride All

NoneをAllに変更する。