2011-01-26 61 views
5

Oooops我又做了。PHP CodeIgniter 404部署

我的網站工作完全本地

我的機器是windows WAMP2設置 我的服務器是一個CentOS 5.5 Apache 2.2的PHP5 seup

我的笨網站得到一個404,我已部署,而且我確實無法弄清楚什麼是錯誤的,所以請幫助我找到錯誤。

這是根網址。我沒有設置DNS,所以它只是服務器的IP地址。在我上傳codeigniter之前,它顯示了標準的apache頁面。我查看過配置文件,它看起來沒問題。它可能是一個文件權限錯誤?我在整個/ var/www/html目錄中設置了chmod o + rw。 httpd中的error_log沒有顯示任何內容

我試過測試它是否是mod_rewrite模塊,但我創建了一個帶有RewriteEngine ON的.htaccess文件的測試目錄,它沒有給我一個錯誤,沒關係。

在codeigniter中,我已經在配置中將log_threshold設置爲4,但是我沒有收到任何日誌消息,所以我不能確定它是否是pre> codeigniter錯誤,但我真的不'我認爲它是,因爲它正在加載我的錯誤視圖,仍然爲什麼沒有任何日誌正在寫入,它是關於什麼?

任何幫助,因爲我油煙運行得到這個工作是非常讚賞...

更新 感謝@jondavidjohn我發現打控制器直接IE:

http://addr/index.php/GeoController/markers/

會爲我提供了一個控制器特定錯誤說:

無法找到你的模型「modelnam e「

已解決 感謝@jondavidjohn和@timdream給我解決這個問題的線索。這是一個命名問題,我的文件名是camelcased,並且他們只能從我現在理解的很小,所以ROUTE是不利的,因爲它導致Site,但應該已經導致網站,雖然我有一個網站。 PHP的我不得不改變它和路線site.php

+0

難道本地這項工作? – 2011-01-26 16:48:41

+0

@Matt Asbury - 是的,它只是在部署時出現錯誤 – Jakob 2011-01-26 16:50:47

+0

你在哪個URL上得到404錯誤?你忘了在config.php中改變什麼? Web服務器用戶的.htaccess文件是否可以正確讀取? Apache錯誤日誌中的任何內容? – 2011-01-26 16:53:51

回答

4

請確保您有正確的設置在system/application/config/config.php ..特別注意

$config['base_url'] = "http://www.example.com"; 

確保你投入的根域的現場,同時檢查您的路由配置,並確保您有正確的默認控制器設置在system/application/config/routes.php

1

$config['uri_protocol']也可以發揮一部分。它默認爲AUTO,它會自動查找包含實際URL的環境變量。

我有一個網絡應用程序,當我從我的服務器的mod_php切換到php-cgi時失敗。將配置更改爲REQUEST_URI可解決此問題。我通過挖掘phpinfo()輸出來發現閥門,你可以嘗試這樣做。

0

我的第一個打賭是你正在開發這個並修改了.htaccess文件。然而,如果Windows上的文件是「Home.php」,那麼你必須記住控制器的名稱,並且,如果你從Windows - > Linux系統更改(在Win上開發,prix on nix)你在配置中使用「home.php」作爲你的默認路由,那麼它會失敗..因爲沒有「home.php」文件。

Home.php != home.php

Linux是區分大小寫的。檢查一下,這可能是一件簡單的事情,但可能會造成阻礙。

再次我只是猜測由於缺乏細節。

2

我最近開始使用全新安裝的codeignitor 3.0,並且在我的開發服務器(Windows)上沒有問題,於是當我搬到我的實時服務器(Linux)時,我開始出現404錯誤。

原因是在3.0中,您的意思是要大寫控制器/模型的第一個字母以及文件名。

例如

類Test_model擴展CI_Model {

Test_model.php

希望這有助於一些人誰在這裏結束了!

參考:

http://www.codeigniter.com/userguide3/installation/upgrade_300.html