2016-12-08 12 views
0

私はMVCが新しく、Codeigniterのコントローラとルーティングについて質問したいと思います。コントローラとルートCodeigniter

私のローカルホストで自分のプロジェクトを行います。

localhost/projectnameを呼び出すと、mainを表示するインデックス関数を持つコントローラのWelcomeに行きます。私は、ビューのhrefを行うために移動することができますどのように

public function index() 
    { 
     $this->load->view('main'); 
    } 

    public function changeLanguage(){ 

     $this->load->view('main_in'); 

    } 
} 

このコントローラ、私はまた、別のページに変更するには、別の関数、このような を持っています。 私のmain.php(view)にあります。私は持っています:

<a href="changeLanguage">Link</a> 

しかし、それは動作していません。 次にリンクを変更します:

<a href="index.php/Welcome/changeLanguage">Link</a> 

これは機能しています。 しかし、2番目のビュー(main_in.php)。私は最初の場所に戻るためのリンクを作りたいと思います。私はそれを呼び出しますが、エラー404が再び発生しました。 手がかりはありますか?ありがとうございます。 すべての

+0

セットBASE_URL()ローカルホスト/フォルダのパスのようになります。 Link

+0

と書いてありがとう私は私のリンクのベースURLを使用するアイデアを得た。 – user3859812

答えて

0

まず、

$config['base_url'] = ''; 
$config['index_page'] = ''; 

configフォルダにconfig.phpを変更する必要があり、あなたのリンクは、この

<a href="<?= base_url() . 'welcome/changelanguage/'"> 
+0

ベースURLを使用してアイデアを得ましたが、あなたのソリューションを使用していますが、リンクにはまだインデックスが必要です: <?= base_url()。 'index.php/welcome/changeLanguage – user3859812

+0

インデックスが必要な場合。 php'''を削除したい場合は、.htaccessファイルを使用する必要があります。上 オプション+ FollowSymLinksを オプション-Indexes のDirectoryIndex index.phpを RewriteEngine:この答えは、あなたがhttp://stackoverflow.com/questions/19183311/codeigniter-removing-index-php-from-url – kishor10d

+0

変更の.htaccessに役立ちます のRewriteCond $ 1-4(インデックス\ .PHP | IMG | CSS | JS |画像|ロボット\ .txtファイル|パブリック)! するRewriteCondの%{REQUEST_URI} \(css³js³jpg³gif³png)$ するRewriteCondの%{REQUEST_FILENAME} -f するRewriteCond。! %{REQUEST_FILENAME}!-d RewriteRule ^(。*)$ index.php?/ $ 1 [L、QSA] – user1214083