为什么index.ctp呈现为文本而不是html / php?

时间:2011-03-06 16:15:00

标签: php cakephp view file-extension

我曾尝试过自己研究这个问题一段时间,但似乎无法确定解决方案。我正在完成CakePHP博客教程,并在此部分:http://book.cakephp.org/view/1536/Creating-Post-Views

我使用CakePHP给出的代码创建index.ctp文件。然后,当我在Safari中打开index.ctp文件时,它只显示CakePHP给出的代码。它不会呈现任何HTML,也不会从数据库中提取博客数据。

如果我将扩展名从.ctp切换到.php,它会呈现HTML,但它不会从数据库中提取博客数据。我的数据库已连接并具有正确的信息。我认为.ctp扩展名有问题吗?不确定。还有其他人遇到过这种问题吗?

3 个答案:

答案 0 :(得分:2)

首先,试试这个网址:

http://localhost/posts/index

第二次,您的开发环境中可能没有启用mod_rewrite。 例如,在ubuntu上你可以像这样启用它:

sudo a2enmod rewrite

(编辑:之后重启apache)

<强>第三: 检查你的.htaccess,你需要启用mod_rewrite。另请查看教程/ cakePHP文档,了解您是否错过了有关.htaccess和重写规则的任何步骤。

答案 1 :(得分:1)

红眼,

  1. 像tacone写的那样称呼它
  2. 根据约定
  3. 确保文件位于正确的路径中
  4. 确保您的服务器进程对所关注的文件具有正确的访问权限

答案 2 :(得分:0)

请确保您的sites-available / default文件中的AllowOverride设置为All(而不是None)。