0

私は登録ページを作成するためにhmvcを使用しています:-URLに今私は入力しています:-http://localhost/CI/index.php/user/registration

userはモジュール名です

コントローラー:-registration.php

<?php
class Registration extends MX_Controller{
    function index() {
        $this->load->view('homepage');
    }

    function register(){
        $this->load->view('registrationPage');
    }
}
?>

ビュー:-homepage.php

<html>
<body>
    <a href="registration/register">register</a>
</body>
</html>

問題は、私のURLhttp://localhost/CI/index.php/user/registration/registerに登録ページにアクセスするために入力する必要があることです。

どうhttp://localhost/CI/index.php/user/registerすればこれができるのか。base_urlの設定が機能せず、ルートの設定も機能しません。これは、URLにモジュール名を指定せずに任意のページに移動することは可能ですか?

4

4 に答える 4

2

routes.phpconfigフォルダーの下のファイルを編集します

$route['user/register'] = 'user/registration/register';
于 2012-07-06T09:21:46.253 に答える
0

ファイル内url rewriteで使用できます。htaccess を使用しない URL の書き換えと、PHP で URL 書き換えを行う方法を参照してください。.htaccess

CodeIgniter では、.htaccess は system/application/config/config.php

私は CodeIgniter を認識していないので、ここで詳細情報を入手してください

于 2012-07-06T07:17:02.267 に答える
0

ホスト ファイルにエントリを追加して、サイトの適切な URL を作成する必要があります。例えば:

127.0.0.1 http://mysitename

また

127.0.0.1 http://localhost.mysitename

Apache で仮想ホストを設定する方法を Google で調べてください。それに関する記事がたくさん見つかるはずです。ここで、Apache 構成を編集して仮想ホストを有効にします。この機能を有効にすると、サイトの仮想ホスト エントリが作成されます。仮想ホストは、選択した URL をプロジェクト ファイルの特定のディレクトリ パスにマップするように apache に指示します。(この方法では、実際のディレクトリ パスは URL の一部ではありません。)

次に、.htaccess を編集して、リクエストが常に index.php フロント コントローラーを経由するようにします。これが完了すると、各 URL の一部として「/index.php/」を使用する必要がなくなります。Code Igniter ユーザー ガイドの Code Igniter URL というセクションを読んでください。サンプルの .htaccess 構成があります。さらに、Code Igniter URL がどのように機能するかについても説明します。

CI が仮想ホストと連携するには、CI 構成ファイルのベース URL を v-host URL と一致するように設定する必要があります。

このすべてが完了したら、apache を再起動する必要があります。

これで、必要な URL 構造に従ってコントローラーとメソッドに名前を付けることができます。この場合、user.php と呼ばれるコントローラーと register と呼ばれるメソッドがあります。

于 2012-07-06T07:41:35.053 に答える
0

プロジェクトで HMVC を使用する必要がありますか? それ以外の場合は、単純な Codeigniter の方法を使用してください。これがこの状況で期待されることだからです。

于 2012-07-06T11:53:55.933 に答える