2011-03-06 133 views
0

我试着自己研究这个问题一段时间,但似乎无法找到解决方案。我正在通过CakePHP博客教程进行操作,并且在本节中:http://book.cakephp.org/view/1536/Creating-Post-Views为什么index.ctp呈现为文本而不是html/php?

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

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

+1

您在浏览器中调用了哪个URL? – dhofstet 2011-03-06 16:21:08

+1

我假设你正在使用启用了PHP的适当Web服务器来运行此操作?简单的问题,我知道,但你必须要求... – diagonalbatman 2011-03-06 16:27:02

+0

Thx的答复。是的,PHP已启用。我打电话给http://localhost/cake/app/views/posts/index.ctp。如果我在没有.ctp扩展名的情况下调用它,它会显示“在此服务器上找不到URL”。 – RedEye 2011-03-06 17:22:04

回答

2

首先,试试这个网址:

http://localhost/posts/index

,你可能还没有mod_rewrite的在开发环境中启用。 在Ubuntu上,例如,你可以像这样打开它:

sudo a2enmod rewrite 

(编辑:重启之后阿帕奇)

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

+0

我喜欢你说的。 Mod_rewrite已启用。我完全按照教程过程。当我尝试访问http:// localhost/posts/index时,仍然无法找到该文件。是我使用本地主机的问题? – RedEye 2011-03-07 01:58:24

+0

我注意到其他几个人也有同样的问题......似乎没有解决方案。 – RedEye 2011-03-07 02:16:38

+0

我终于有它的工作。这是一个混乱的httpd.conf,mod_rewrite,.htaccess和重新启动Apache的组合。你帮助我找出问题所在。非常感谢。 – RedEye 2011-03-07 05:28:09

1

红眼,

  1. 这样称呼它tacone的方式写
  2. 确保该文件是在正确的路径根据约定
  3. 确保服务器进程具有该文件正确的访问权限被关注
+0

非常感谢。 – RedEye 2011-03-07 05:28:27

0

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

相关问题