1

Categories という名前のコントローラーと、1 つのパラメーター $cat_id を持つ index と呼ばれる 1 つの関数があります。

したがって、次のようになります。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class categories extends CI_Controller {

    function __construct(){
        parent::__construct();
    }

    public function index($cat_id = null){

    }
}

問題は、ブラウザから呼び出すときに発生します...これを使用します:

http://www.mysite.dev/categories/12311323

しかし、404エラーページを返します

代わりに私が使用する場合

http://www.mysite.dev/categories/index/12313131

うまくいきます...

インデックス関数の URL にインデックスが必要ないことを確認するにはどうすればよいですか?

4

2 に答える 2

6

デフォルトの CodeIgniter ルーティングは /controller/function/argument です。引数を指定するには、まず関数を指定する必要があります。関数なしで引数を指定する場合は、カスタム ルートを定義する必要があります。この行をルート構成ファイルに追加すると、必要なことが行われるはずです。

$route['categories/(:num)'] = "categories/index/$1";
于 2012-06-02T23:05:02.160 に答える
1

あなたが説明するのは、CIのデフォルトの(事前設定された)ルートです。独自に定義して、質問で説明したパターンを機能させることができます。参照: URI ルーティング

于 2012-06-02T23:01:48.990 に答える