2011-03-06 91 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)。

相關問題