7

公式の Code Igniter チュートリアルを行っていたときに問題が発生しました...

チュートリアルでは、次のコードを保存して実行する必要がありました。

<?php
class Blog extends Controller {

     function index()
     {
         echo 'Hello World!';
     }

     function comments()
     {
         echo 'Look at this!';
     }
}
?>

次の URL を入力した場合:

index.php/blog

それは機能し、「Hello World!」と表示します。

次のようにコメントを表示するように URL を変更すると、次のようになります。

index.php/blog/comments/

私は404を取得します。

4

7 に答える 7

2

私はこの古い投稿に出くわしましたが、なぜそれが起こったのかについての良い答えはありませんでした。私もあなたがしたのと同じ明らかなエラーに遭遇し、それを修正するのに苦労していました。問題は、以前のCIの例で設定されたルーティングに起因することに気づきました。config / routers.php内に次の行を追加しない限り、私のページはまったく機能しませんでした。

$['blog'] = 'blog';

これは、ルートの引数として、すでに設定したもの以外のものを考慮するこの行のためです。

$route['(:any)'] = 'pages/view/$1';

上記の行を削除すると、前のチュートリアルのようにルートが機能しなくなることを除いて、すべて機能します。コントローラ内で関数を呼び出すことができるように、次の行も追加する必要がありました。

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

これら2つの両方を追加すると、ルートで関数を呼び出すことができ、さらに機能する「ブログ」コントローラーを使用できます。

于 2012-11-27T23:11:48.447 に答える
2

? を追加する場合 index.php の後、それは動作しますか?

http://example.com/index.php?/blog/comments
于 2009-11-04T07:30:03.287 に答える
1

デフォルトでは、あなたの例はうまくいくはずです。あなたの例では mod_rewrite を使用していないため、構成を調べて .htaccess を削除してください。

ゼロから始めることも学習に役立ちます ;)

于 2009-11-03T05:05:41.720 に答える
1

application/config/config.php の $config['uri_protocol'] オプションのいくつかを試してみる価値は常にあります。

/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string.  The default setting of "AUTO" works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'AUTO'            Default - auto detects
| 'PATH_INFO'       Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI'     Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'AUTO';

一部のサーバーにはさまざまなオプションで問題があるため、それぞれを手動で試してください。これはあなたの場合にはうまくいかないかもしれませんが、過去に私のために一日を節約しました.

于 2009-12-21T11:30:58.713 に答える
0

私も同じ問題を抱えていました。結局、最初の関数の1つを閉じたことはなく、最後の関数を省略しました}。そのため、閉じなかった関数は正常に機能しましたが、その後はすべて404が返されました。

于 2009-11-29T01:32:14.920 に答える
0

私はファイルの更新の問題です。

于 2009-11-04T03:29:21.517 に答える