2011-06-17 22 views
3

結果:greeting.phpでCodeIgniterのルート問題

greeting/102/steve => greeting/index/102/steve 

:route.phpで

function index($order,$name) 
{ 
    echo "order: $order , name : $name ! "; 
}  

:私が得る

$route['greeting/(:num)/(:any)'] = "greeting/index/$1/$2";  

結果:

order : , name : steve ! 
+0

これは設定した方法で動作するはずです。 'name'は通っても' order'は通らないという事実は変わっていませんが、実際にそのルートが動作していることを意味します。私はこの問題がもっとあると思う? –

答えて

3

実際には、二重引用符を使用するのはです。です。マニュアルの中にこのように表示されていても(100回行った)、@ cwallenpoolが指摘している問題は表示されません。
あなたのルーティングが正常に見える、それは予約済みのルート

$route['default_controller'] = "welcome"; 
$route['404_override'] = ''; 
$route['greeting/(:num)/(:any)'] = "greeting/index/$1/$2"; 

と呼ばれていることを確認してください。
$this->uri->rsegment(n)(info:​​)を使用して、問題の原因となっている経路変更されたURIセグメントをキャッチすることをおすすめします。

$this->uri->segment(n)に似ていますが、再ルーティングURIのために特別に設計された)また、PATH_INFOにAUTOから$config['uri_protocol']を変更してみてください(または他の選択肢の1つ)と、問題がそこに座っていないかどうかを確認することができます。 htaccessを使用してURLからindex.phpを削除する場合は、$config['index_page']の 'index.php'部分を削除することを忘れないでください。

0

私は最近、そのような場合に容易に提供できるライブラリを作成しました。必要な変数にナンバリングではなく名前を渡します。また、名前は簡単に参照できるルートに含まれています。

あなたがそれを見ることができるかもしれない、あなたの場合に役立つことがあります。

https://github.com/aajiwani/LaravelRoutingForCodeIgniter