エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CakePHP3のインストールでURL rewriting……のエラーが!その解決方法解説

      2017/10/28

CakePHP3のインストールは成功したけどエラー画面が出る

 

CakePHP3をインストールして出るエラーについて

 
CakePHP3をインストールは成功したはずなんだけども、下記のいつもの赤い画面が出てこない...
 
CakePHP3のインストールでURL rewriting..のエラーが!その解決方法解説
 
替わりに出てきた画面は、下記のようなエラー画面...
 
CakePHP3のインストールでURL rewriting..のエラーが!その解決方法解説
 
そんな場合の対応方法を解説します。
 
 

解決方法は httpd.confに .htaccessを有効にする設定を記述

 
まず最初に解決方法を記載しておきます。
 
viコマンドで、「httpd.conf」を開きます。
「httpd.conf」の編集は root権限が必要ですので、「sudo」コマンドを利用して、開きます。
※「httpd.conf」ファイルのパスは、サーバによって違う場合があります。
 

 
 
開いた「httpd.conf」に下記を追加します。
これを追加することで、.htaccessを有効にする、という設定です。
いくつかサブドメインがある場合は、各サブドメインごとに設定します。
追加する場所は、「httpd.conf」の一番下で OKです。
 

 
 
「httpd.conf」を更新したら、その設定を反映させるために下記のコマンドで Apacheの再起動をしましょう。
 

 
 
これで改めて CakePHP3の URLにアクセスすると、いつも見る赤い画面が表示されるでしょう。
 
 


 

CakePHP3をインストールして出るエラーの内容の確認

 
左記に画像を出していたエラーの内容ですが、下記のような内容になっています。
 

 
 
Google翻訳に突っ込んでみても、下記のような日本語になるだけで、全く意味が取れません。
 

 
 
とはいえ、「Help me configure it」の方のリンクをたどって、下記のページに行くと、サーバの設定をしたことがある方であれば、エラーの原因が理解できるでしょう。
 
原因説明の URLは、↓ここ
https://book.cakephp.org/3.0/en/installation.html#url-rewriting
 
 
エラーの原因は、「.htaccessによるリダイレクトの設定」がうまくいっていないため、このままだと正常に動作しませんよ、というエラーです。
 
そのため、「httpd.conf」に .htaccessを利用できるような設定を行うことで不具合の解消をする、という対応が必要になってきます。
 
 

URL rewriting is not properly configured on your server.

 
今回発生した、.htaccessが使える環境にないために発生する CakePHP3のエラーですが、解説はしてみたものの、この解説が読まれることはかなりまれな事象なんじゃないか、と思っています。
 
理由は、このエラーを見る方の多くは、自分でトラブルを解決できる方であろうと思うからです。
 
この不具合が起こる原因は、「.htaccessが使える環境にない」ということなのですが、そのような環境は、下記の 2つくらいじゃないかと思うわけです。
 
・レンタルサーバで .htaccessが使えないサーバ
・サーバを設定したが .htaccessを使えるようにする設定を忘れていた
 
 
前者の場合はそもそも .htaccessが使えないので、どうしようもないのですが、レンタルサーバで .htaccessが使えないサーバの場合は、そもそも CakePHP3がインストールできるとは思い難いですね。
 
後者の場合、VPSや AWS、専用サーバなどを借りて、もしくは、ローカル環境に VirtualBoxなどを立てて、そこに環境を構築しながら、CakePHP3をインストールしているんじゃないかと思います。
 
そんな感じで LAMP環境を自分で構築できるような方であるならば、メッセージの「URL rewriting is not properly configured」というあたりを読むと、「.htaccessのリライト処理が設定されていないのか!」と思い至るんじゃないかと思います。
 
 
ただ、私のように原因が分からず、小一時間も悩むような方がいた場合に解決の糸口にしてもらえれば、と思ってこの記事を書きました。
 
このエラーを見ることなく、CakePHP3のインストールがすんなり終わることを願いつつ...
 
 
そもそも「URL rewriting is not properly configured on your server.」のメッセージの前に編集されている「Please be aware that this page will not be shown if you turn off debug mode unless you replace src/Template/Pages/home.ctp with your own version.」のメッセージは、正常にインストールされても表示されているメッセージですので、ここは今回発生したエラーとは全く関係ないところなのですが、英語が苦手だとどこにエラーが書いてあるかがまずわからないですよねぇ。
 
そして、説明のサイトも英語ですし...
 
 

CakePHP3の関連記事

CakePHP3でPHP Simple HTML DOM Parserを使ってスクレイピングする方法
CakePHP3のInsert On Duplicate Key Update(upsert)構文を解説・バルク処理も
CakePHP3の1対多での連携を中間テーブルを使った多対多の連携に変更するときの手順
CakePHP3でデフォルトのソート条件を設定してユーザの選択肢たソート条件を有効にする方法
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3でパンくずの指定は HTMLヘルパーを使って指定する方法を解説
CakePHP3にOGPをfetch、asignを利用してテンプレートごとに指定する方法を解説
CakePHP3のOGPはHTMLヘルパーの$this->Html->meta()を使って設定
CakePHP3でkeywords、DescriptionをHTMLヘルパーを使って設定する
CakePHP3で環境変数を設定して本番環境と開発環境を分けて処理をする場合
 
その他の「CakePHP3」に関する記事一覧
 
 

 - CakePHP 2.x 3.x

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

CakePHP3で生の SQLの実行はConnectionManagerを使う
CakePHP3で生の SQLの実行はConnectionManagerを使う

CakePHP3で生の SQL文を実行する方法を解説。クリエビルダーを使う場合は TableRegistryを利用するが、SQLを実行する場合は ConnectionManagerを使う。プリペアードステートメントの使用方法も解説。

CakePHP 2.3で saveの便利な使い方・サンプルソース付き

CakePHPのレコードを保存、更新する際に使う Saveを詳細解説します。

CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント
CakePHP3で「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」などのエラーが出たときの確認するポイント

CakePHP3の開発で発生する「SQLSTATE[23000]: Integrity constraint violation」「SQLSTATE[42S22]: Column not found」のエラーには特有の原因もあるため、その説明と対処方法の解説。

CakePHP 2.3 Search Pluginで検索処理 その2表示件数を動的に変える方法

CakePHPの検索プラグイン Search Pluginの検索処理の中で動的に表示件数を変える方法です。

CakePHP 2.3 テーブルの項目を演算した結果を条件として抽出する方法

アソシエーション(連携)している先のテーブルの項目で演算をする場合の考え方と注意点をサンプルソースを用いて説明しています。分かってしまえば簡単です。

CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装
CakePHP3のfriendsofcake/searchでブックマークチュートリアルのタグ検索を実装

CakePHP3のCookbookにあるブックマークチュートリアル。ここで紹介されているタグで検索する処理を検索プラグイン「friendsofcake/search」で実現する方法を解説しました。

CakePHP 2.3でOn Duplicate Key構文を実装

CakePHPで On Duplicate Key構文を Queryを利用して実装する方法をサンプルソース付きで解説します。

CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。
CakePHP3で Ajaxを使う方法の解説。3.6以降対応。Successとthenの両方を解説。

CakePHP3でajaxを利用する処理の実装方法を解説。プルダウンを変更するとデータベースの値を取得し検索結果の内容を変更するというような処理を想定。CakePHP3.6以降の CSRF対策対応済。

CakePHP3で保存前にバリデーション結果を取得する2つの方法
CakePHP3で保存前にバリデーション結果を取得する2つの方法

CakePHP3でデータベースに値を保存する前にバリデーションを行い、その結果によって処理を振り分ける方法について解説。「$topic->errors()」と「$topic->hasErrors()」の2つの方法がある。

CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説
CakePHP3で静的ページの作成は webrootか pagesを使う。トップページを参考に解説

CakePHP3で静的なページを設置する場合の方法(webrootとpagesとを活用する方法)を解説。pagesの解説はデフォルトのトップページがどう表示されているかを参考に解説。ルーティングの機能も。