1

これで、CodeIgniter がルートのコントローラーまたは uri のルートを見つけられない場合、一般的な 404 ページが表示されます。アクセスされたルートやコントローラー、または 404 が表示された理由をデバッグできる便利なものを表示するにはどうすればよいですか?

コード:

switch ($_SERVER['HTTP_HOST']) {
    case 'multiplelines.domain.ro': 
             $route['default_controller'] = "subdomain"; break;
    default: $route['default_controller'] = "welcome"; break;
}


$route['scaffolding_trigger'] = "";
$route['404_override'] = '';
if($_SERVER['HTTP_HOST'] == "www.domain.ro" 
   || $_SERVER['HTTP_HOST'] == "domain.ro")
{
  // URI like '/en/about' -> use controller 'about'
  $route['^(romana|english|magyar)/(.+)$'] = "$2";

  // '/en', '/de', '/fr' and '/nl' URIs -> use default controller
  $route['^(romana|english|magyar)$'] = $route['default_controller'];
}
else
{

}

望ましい効果: www または空のサブドメイン ルーティングが次のように発生する場合: /language/test はテスト コントローラーに移動します。

別のサブドメインにある場合(1つのケースをリストしただけです)、サブドメインコントローラーにルーティングします。これは、それらに1つのコントローラーを使用したいだけだからです。

注: www または空のサブドメインの場合、テスト コントローラーの /test ルートに自動的に言語を選択するコードがあります (uri の言語ディレクトリなし)。

4

4 に答える 4

1

CIがページの正しいルートを見つけられない場合、CIはそのようなページがないことを認識しているため、404NOTEXISTINGを与えています。

ユーザーがサイトで/sgasgasggsasgaページを開こうとすると、同じ理由で404が表示されます。

なぜそれが404を示しているのかを自分で見つけなければなりません...

ヘルプが必要な場合は、http://codeigniter.com/user_guide/general/routing.htmlを参照してください:)

于 2012-10-25T13:33:02.197 に答える
0

アプリケーションでエラー ログを有効にします。

次に、エラーを調べると、404 エラーを生成した要求された URI が表示されます。

于 2012-10-25T15:00:52.203 に答える
0

コンピューター上では適切に回答を入力しますが、codeigniter でのルートのデバッグをご覧ください。ルートロギングがあります

于 2012-10-26T06:41:00.610 に答える