У меня была похожая проблема с «расширенной установкой» из официальной Cockbook CakePHP. Через пару часов мне удалось заставить его работать.
ОС: Mac OS X
Основной каталог Cake: / usr / lib / cake
Каталог приложения моего приложения: / Users / myuser / dev / myapp
Каталог веб-корня моего приложения: / Users / myuser / Sites / myapp
Модификация / Пользователи / myuser / Сайты / myapp / index.php
if (!defined('ROOT')) {
define('ROOT', DS.'Users'.DS.'myuser'.DS.'dev');
}
if (!defined('APP_DIR')) {
define('APP_DIR', 'myapp');
}
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib');
}
Модификация / Пользователи / myuser / Сайты / myapp / .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /~myuser/myapp/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
Что касается / Users / myuser / dev / myapp / .htaccess - этот файл не требуется в этой конфигурации, поэтому я удалил его. Самым сложным в этой конфигурации является включение mod_rewrite в Apache. На Mac редактирование / private / etc / apache2 / httpd.conf кажется бессмысленным (для этой задачи). Для каждого пользователя создается дополнительный файл конфигурации Apache.
Модификация / private / etc / apache2 / users / myuser.conf
<Directory "/Users/myuser/Sites/">
Options FollowSymLinks
AllowOverride All
</Directory>
По умолчанию для параметра AllowOverride установлено значение None, поэтому mod_rewrite не будет работать в этой конфигурации.
После этих изменений http://localhost/~myuser/myapp работает правильно.
PS. Быстрое исправление прав доступа к каталогу tmp.
sudo chgrp -R www /Users/myuser/dev/myapp/tmp
sudo chmod -R g+w /Users/myuser/dev/myapp/tmp