2016-12-08 182 views
0

我是MVC中的新成員,想問關於Codeigniter中的控制器和路由。控制器和路由Codeigniter

我在我的本地主機上做我的項目。

當我們調用localhost/projectname時,它轉到具有索引函數的控制器Welcome來查看main。

此控制器,我也有另外一個功能切換到另一個頁面, 這樣的:

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

    public function changeLanguage(){ 

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

    } 
} 

我如何才能將做視圖中的HREF。 在我的main.php(視圖)中。我有:

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

但它不工作。 然後我改變鏈接到:

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

它的工作。 但在第二個視圖(main_in.php)。我想建立一個鏈接回到第一個地方。我稱它,但再次得到錯誤404。 任何線索? 在此先感謝。

+0

集BASE_URL()本地主機/文件夾路徑。比編寫爲Link

+0

謝謝我的想法是使用我的鏈接的基礎網址。 – user3859812

回答

0

首先,你應該在config文件夾

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

改變config.php和你的鏈接應該是這樣的

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

謝謝我通過使用基礎url得到了這個想法,我使用你的解決方案,但是鏈接仍然需要索引,如: <?= base_url()。'index.php/welcome/changeLanguage – user3859812

+0

如果你需要'''索引。 php''',你想刪除它,那麼你必須使用.htaccess文件。這個答案將幫助您http://stackoverflow.com/questions/19183311/codeigniter-removing-index-php-from-url – kishor10d

+0

變化的.htaccess到: 選項+的FollowSymLinks 選項-Indexes 的DirectoryIndex index.php文件 RewriteEngine敘述上 的RewriteCond $ 1→(索引\ .PHP |張圖片| 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