0

私のURLリンクは次のようになりました:

http://localhost/CodeIgniter_2.1.2/index.php/pages/home

次に、Google を使用して次のように .htaccess ファイルを作成しました。

RewriteEngine on
RewriteCond $1 !^(index\.php|themes|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

今私のリンクは次のようになります:

http://localhost/CodeIgniter_2.1.2/pages/home

pages今、私はこのリンクから削除したいと思います。誰でもこれを理解するのを手伝ってもらえますか?

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

http://localhost/CodeIgniter_2.1.2/home
4

2 に答える 2

1

これを行う 1 つの方法は、application/config/routes.php ファイルでカスタム ルートを作成することです。このルートは、URL 'http://localhost/CodeIgniter_2.1.2/home' を 'http://localhost/CodeIgniter_2.1.2 にルーティングします。 /ページ/ホーム」

カスタム ルーティングについては、こちらで説明しています

コードは次のようになります。

$route['home'] = "pages/home";

編集

コントローラー、メソッド、および変数には、それぞれ「ページ」、「ビュー」、および「ホーム」という名前が付けられます。したがって、代わりに次のルートを試す必要があります。

$route['home'] = "pages/view/home";

また:

** 予約済みルート ** codeigniter のドキュメントから:

2 つの予約済みルートがあります。

$route['default_controller'] = 'welcome';

このルートは、URI にデータが含まれていない場合にどのコントローラー クラスをロードするかを示します。これは、ユーザーがルート URL をロードする場合に当てはまります。上記の例では、「welcome」クラスがロードされます。常にデフォルト ルートを設定することをお勧めします。そうしないと、デフォルトで 404 ページが表示されます。

したがって、デフォルトのコントローラーを「pages/view/home」に設定するべきではありません。むしろ、デフォルトで「ホーム」ビューになる「インデックス」メソッドをコントローラに作成する必要があります。

また 、application/config/config.php にある config.php ファイルで $config['index_page'] を 'index.php' から '' に変更することを忘れないでください。

于 2012-08-22T01:52:34.903 に答える
0

ターゲットが次のようになるようにルールを変更してみてください。

RewriteRule ^(.*)$ index.php/pages/$1 [L]
于 2012-08-22T01:50:34.490 に答える