2016-12-08 291 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