2012-02-29 16 views
12

私はいくつかのコントローラを持つサイトで作業しており、http://www.host.com/controller/function/paramsのリクエストをhttp://www.host.com/index.php/controller/function/paramsにリダイレクトするようにサーバーを設定しました。今、コントローラの1つを別のコントローラにリダイレクトしようとしていますが、の機能はURLにindex.phpを追加しません。 codeigniterでこれを行う簡単な方法はありますか?あらかじめありがとう!Codeigniter URLリダイレクトindex.phpを追加せずに

答えて

62

redirectを使用できます。インデックスページとして設定されている場合は、index.phpが追加されます。

したがって、index_pageの設定を確認してください。これは、空の文字列でなければなりません:

$config['index_page'] = ''; 

ファイル:app/config/config.php

さらに詳しい情報:http://www.codeigniter.com/user_guide/general/urls.html?highlight=mod_rewrite [更新バージョン]あなたはcodeignitorベースのプロジェクトのルートフォルダに別の.htaccessを追加して書き込む必要

+0

それほど簡単です:) – SuperTron

+0

ちなみに、configパラメータはcodeigniterの他の要素に影響しますか、それとも厳密にはリダイレクトですか? – SuperTron

+0

これは 'site_url()'のようないくつかのURL関連の関数に影響を与えます(例えば、 'redirect'によって使用されるbtw) –

0

次のようなリダイレクトルールがあります。

RewriteEngine On 
RewriteBase /codeignitortest/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?$1 [QSA,L] 

またはapplication/config/config.phpの下に作成することができます。

$ config ['index_page'] = 'index.php'; 〜$ config ['index_page'] = '';

1

私が使用しました $ config ['index_page'] = ''; それは働いた。

関連する問題