4

何が起こっているのか、または何が正しく行われていないのかを完全には理解していないので、これは私がこの質問をすることができる最も簡単な方法です。

URLに問題があります。

http://localhost/index.php/user と同じですが、同じで http://localhost/ http://localhost/index.php/user/something ありません http://localhost/something

どうすれば仕事をすることができhttp://localhost/somethingますか?

それはそうである必要がありますhttp://localhost/user/something、どうすればそれを機能させることができますか?

4

4 に答える 4

2

CodeIgniterのURLがどのように機能するかを理解する必要があります。

  • URLはいくつかのセグメントで構成されています。http://localhost/index.php/user/something/thingこの例userでは、、はURLのセグメントですsomethingthing

  • URLのセグメントは、実行するコントローラーとそのコントローラーのメソッドを示します。http://localhost/index.php/user/something/thingこの例では、コントローラーsomethingからのメソッドuserが呼び出さthingれ、パラメーターとしてそのメソッドに渡されます。

  • URLの最初のセグメントは、コントローラーを示します。

  • URLの2番目のセグメントは、そのコントローラーのメソッドを示します。

  • 次のセグメントは、パラメーターとしてそのメソッドに送信されます。

ただし、いくつかのデフォルトがあります。

  • URLがhttp://localhost/index.php/somethingの場合something、コントローラーとして指定しましたが、メソッドを指定していないため、デフォルトのメソッドindexが呼び出されます。したがって、上記のURLはと同じですhttp://localhost/index.php/something/index

  • URLがhttp://localhost/index.php/の場合、セグメントは指定されていません(コントローラーもメソッドもありません)。したがって、で指定されているデフォルトのコントローラーapplication\config\routes.phpは、ロードされたコントローラーです。そのコントローラーのどのメソッドが呼び出されますか?もちろんindex方法。

    $route['default_controller'] = "site";--のファイルでアプリケーションに適合するものに変更することで、デフォルトのコントローラを設定できapplication\config\routes.phpます。

  • http://localhost/user/somethingと同じにしたい場合http://localhost/index.php/user/somethingは、アプリケーションのカスタムルートを作成する必要があります。詳細については、こちらをご覧ください。

于 2011-06-29T16:58:52.347 に答える
1

http:// localhost / somethingは、Somethingコントローラークラスのインデックスメソッドを呼び出していることを示します

http:// localhost / user / somethingは、Userコントローラークラスのsomethingメソッドを呼び出していることを示します。

それは理にかなっていますか?

于 2011-06-29T15:28:35.023 に答える
1

動作させるには、メソッドでhttp://localhost/something呼び出されるコントローラーが必要です。これは、にアクセスするのと同じです。somethingindexhttp://localhost/something/index

または、 。というメソッドを持つコントローラーhttp://localhost/user/somethingがあることを意味します。usersomething

それはまったく役に立ちますか?

于 2011-06-29T15:28:58.493 に答える
0

URLからindex.phpを削除するには、ここで説明するmod_rewriteメソッドを使用する必要があります

次に、URLからコントローラー名(ユーザー)を削除するには、ルートを使用する必要があります

あなたの場合、$route['^(something|something_else|etc)(/:any)?$'] = "user/$0";routes.phpファイルに追加します

于 2011-06-29T15:36:36.840 に答える