2015-04-06 117 views
-1

我有codeigniter路由問題。 我完全聽不懂,有什麼不對。 我在routes.php文件文件的規則:Codeigniter路由奇怪404錯誤

$route['multimedia/(:any:)'] = 'multimedia/$1'; 
$route['multimedia'] = 'multimedia/index'; 

所以,如果我去http://mywebsite.com/multimedia - 所有的就是效果很好,但如果我去http://mywebsite.com/multimedia/hello我得到404錯誤。

這是我multimedia控制器的一部分:

<?php 
class Multimedia extends CI_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('multimedia_model'); 
     $this->load->helper('language'); 
     $this->load->helper('form'); 

    } 

    public function index(){ 

    //............This works 
    } 


    public function hello() 
    { 
     //..........This not works 

    } 
} 

最奇怪的事情對我來說,我在routes.php文件文件中的另一個相同的規則,

$route['popup/(:any)'] = 'popup/$1'; 
$route['popup'] = 'popup/index'; 

這是效果很好當我去mywebsite.com/popupmywebsite.com/popup/hello

任何人,請幫助我,怎麼了?

+1

從路由'$ route ['multimedia /(:any :)']''刪除最後一個':'並將其更改爲'$ route ['multimedia /(:any)' ]' – Kamran 2015-04-06 10:06:16

+1

爲什麼你需要這些路線規則哪些規則是默認的 – 2015-04-06 10:09:34

+0

非常感謝!現在一切都是有效的。我沒有注意到第二個':'! – Evgeny 2015-04-06 10:10:12

回答

0
$route['popup'] = 'popup/index'; 
$route['popup/(:any)'] = 'popup/$1'; 
  • (:任何)規範只應僅在所有其他約束調用。 試試這個......