.htaccessのmod_rewriteを使わずにCakePHPシステムを動作させる方法

業務でCakePHPの動作させる環境を構築する際、わけあって .htaccess のファイルを使わずに構築する事態に陥りました。通常、CakePHPではApacheのmod_rewriteモジュールを使用させてURLを生成していますが、mod_rewriteを使わずにCakePHPを動作させる方法を紹介します。

以下の話は、2015年1月12日時点での安定版、CakePHP 2.5.8を想定しています。

方法はとても簡単です。

まず、app/Config/core.php をエディタで開きます。
中身の107行目付近に

[php]
/**
* To configure CakePHP *not* to use mod_rewrite and to
* use CakePHP pretty URLs, remove these .htaccess
* files:
*
* /.htaccess
* /app/.htaccess
* /app/webroot/.htaccess
*
* And uncomment the App.baseUrl below. But keep in mind
* that plugin assets such as images, CSS and JavaScript files
* will not work without URL rewriting!
* To work around this issue you should either symlink or copy
* the plugin assets into you app’s webroot directory. This is
* recommended even when you are using mod_rewrite. Handling static
* assets through the Dispatcher is incredibly inefficient and
* included primarily as a development convenience – and
* thus not recommended for production applications.
*/
//Configure::write(‘App.baseUrl’, env(‘SCRIPT_NAME’));

/**
[/php]

という箇所があるので、「Configure::write(‘App.baseUrl’, env(‘SCRIPT_NAME’));」の箇所をコメントを取り除きます。

その後、CakePHPの各ディレクトリに存在する .htaccess ファイルを削除します。

■削除対象
/.htaccess
/app/.htaccess
/app/webroot/.htaccess

上記の3つの.htaccessを削除してください。
これで、mod_rewriteを使わずにCakePHPのシステムを動作させることができます。お試しあれ。

★参考
CakePHP Configuration
http://book.cakephp.org/2.0/en/development/configuration.html


この記事をかいた人

ドレッド Webクリエイター

WordPressの構築やjQueryによる動的サイトの実装が得意なWebクリエイターです。このブログではWeb制作で役に立ちそうな知識から、プライベートの出来事まで幅広いネタを取り扱っております。ご質問、ご要望はお問合せフォームからどうぞ!2016年10月から放送大学に入学(選科履修生)

PHP | Posted on 2015/01/12 19:18

※コメントは管理人の承認後に公開されます。

コメントを残す

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