在我的本地MAMP安装上,我有一个WordPress站点,我正在尝试使用他们的博客教程获取CakePHP站点(2.5.6)。我想尝试一下CakePHP,看它是否适合未来的项目。
文件夹结构的有趣部分如下:
htdocs
|_ cakePHPBox
| |_ app
|_ local_blog
WordPress网站最初安装在根文件夹中。移动之后,我最终在htdocs根目录中包含了一个包含以下内容的.htaccess文件:
# 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
htdocs / cakePHPBox中的.htaccess文件如下所示:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakePHPBox
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
htdocs / cakePHPBox / app中的.htaccess文件如下所示:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /cakePHPBox
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
htdocs / cakePHPBox / app / webroot中的.htaccess文件如下所示:
<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的“登陆页面”没有问题。
根据教程说明尝试访问网址http://localhost/cakePHPBox/posts/index
,这给了我这个错误。我可以告诉它有麻烦,因为它在页面顶部打印文件而不是执行它,但我不知道为什么会这样。
各种现有的StackOverflow问题和答案让我走到了这一步,但现在我被卡住了!
答案 0 :(得分:0)
您的app / Controller目录中似乎没有PostsController.php文件。可能是这样吗?鉴于您正在使用app / webroot / index.php,CakePHP似乎正在努力达到这一点。