На моей локальной установке MAMP у меня есть сайт WordPress, и я пытаюсь получить сайт CakePHP (2.5.6), используя их учебник по блогам. Я хочу попробовать CakePHP и посмотреть, подходит ли он для будущего проекта.
Интересная часть структуры папок выглядит следующим образом:
htdocs
|_ cakePHPBox
| |_ app
|_ local_blog
Сайт WordPress изначально был установлен в корневую папку. После этого я закончил с файлом.htaccess в корне htdocs, который содержал следующее:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^cakePHPBox/(.*)$ /cakePHPBox/$1 [L,QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/cakePHPBox [NC]
RewriteBase /local_blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/cakePHPBox [NC]
RewriteRule . /local_blog/index.php [L]
</IfModule>
# END WordPress
Файл.htaccess в htdocs/cakePHPBox выглядит следующим образом:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakePHPBox
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
Файл.htaccess в htdocs/cakePHPBox/app выглядит следующим образом:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakePHPBox
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
Файл.htaccess в htdocs/cakePHPBox/app/webroot выглядит так:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cakePHPBox
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Они изменены с оригиналов; Я пытаюсь объяснить вложенную папку, в которой CakePHP живет во всех них, а также в htdocs также пытается учесть подпапку WordPress.
Блог WordPress работает. Учебник cakePHP не работает! Целевая страница CakePHP "подтягивается" без проблем.
Попытка получить доступ к URL-адресу http://localhost/cakePHPBox/posts/index
в соответствии с инструкциями по обучению дает мне эту ошибку. Я могу сказать, есть проблемы, потому что он печатает файл в верхней части страницы, а не выполняет его, но я не знаю, почему это происходит.
Различные существующие вопросы и ответы StackOverflow дали мне это далеко, но теперь я застрял!
Кажется, у вас нет файла PostsController.php в каталоге вашего приложения/контроллера. Может ли так быть? CakePHP, похоже, работает до этого момента, хотя, учитывая тот факт, что вы попадаете в app/webroot/index.php.