2012-09-09 92 views
0

我試圖追查爲什麼我的表單的發佈數據沒有被傳遞給控制器​​。codeigniter我的頁面正確顯示,但標題說404錯誤

當我去控制器的網址,頁面顯示正常。但是,當我打開螢火蟲它說這是一個404錯誤。

我很難過。頁面顯示時怎麼會出現404錯誤?

我已經檢查過並且檢查過所有東西。我不知道爲什麼會發生這種情況。

更新:同樣的事情發生在我所有的控制器的網址上。當我訪問該網站時,頁面顯示得很好,但螢火蟲說404。直到現在我才意識到它,因爲其他頁面不接受任何發佈數據。

在成員頁面上,如果它們未登錄,則重定向。在這裏,螢火蟲說302暫時移動,這是它應該做的。但是,當我登錄並訪問成員頁面它是404。

我懷疑我需要改變config-> router.php文件,但我不知道它是如何修改的。

+0

它可能有助於添加您的文件結構。此外,無論何時我使用codeigniter,我都不需要手動添加路由 - 事情只是自動工作。 –

+0

我有一個名爲foobar.php的控制器,並通過site.com/foobar/訪問它的索引函數。我不太確定關於我的文件結構該怎麼說;視圖位於視圖文件夾,模型文件夾中的模型等。我沒有對路線進行任何更改。 – user1616244

回答

0

在鏈接的變化,繼承人頁面上的指令,我也跟着得到的一切工作正常的情況下:

https://github.com/EllisLab/CodeIgniter/wiki/Godaddy-Installaton-Tips

在config.php:

$config['index_page'] = "index.php?"; 
$config['uri_protocol'] = "QUERY_STRING"; 

我已經成功在GoDaddy上實現了這個功能,而不使用「index.php?」作爲索引頁面。這在使用URL助手中的anchor()創建鏈接時很有用。即使使用htaccess刪除index.php,anchor()仍將放入您設置爲索引頁的內容。

您現在應該能夠訪問的一切,例如:

http://yourdomain.com/index.php?controller/action/etc

一旦你得到你想要隱藏的一個點「的index.php?粘貼到您的.htaccess文件:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?$1 [L] 

您現在應該能夠訪問的一切,例如:

http://yourdomain.com/controller/action/etc

.htaccess文件必須是Unix的LF僅風格。如果您使用記事本或寫字板並以CR/LF樣式上傳.htaccess文件,它將無法工作。