CodeIgniter URI路由URI段和htaccess

时间:2013-06-22 23:24:37

标签: php url-routing codeigniter-2

我正面临一个URI路由问题,我相信这里有人可以帮我解决。我用Google搜索足以让我的大脑冻结。好的,这是情况

CodeIgniter版本:2.1.3

我在application / config / routes.php

中路由了两个页面

$ route ['sites /(:any)'] ='profiles / professional';

$ route ['sites /(:any)/(:any)'] ='profiles / professional / $ 1';

我有一个名为:Profiles

的控制器

个人资料中的方法:

public function professional(){

    $user = $this->uri->segment(3);

    $current_page = $this->uri->segment(4);

    switch ($current_page) {
        case 'about':
            $this->data['content'] = 'user_sites/about_view';
            break;
        default:
            $this->data['content'] = 'user_sites/home_view';
            break;
    }



    $this->load->view('my_view',$this->data);       
}

现在如果我加载

www.mysite.com/sites/some_user /

它加载得很好。并且路由工作正常。 (我有htaccess文件删除index.php)

但是当我尝试加载时

www.mysite.com/sites/some_user/about /

它不会加载(空白页)。但是,该路线实际上正在运作。因为当我加载

www.mysite.com/sites/的的index.php / some_user /约/

使用控制器中的开关加载。

所以我想我要在.htaccess文件中添加一行或两行代码?有人请帮忙吗?我当前的.htaccess文件看起来像这样

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

ModRewrite也是ON。

提前多多感谢...

1 个答案:

答案 0 :(得分:1)

我认为你的细分数和你的错误 您的编解码器在段4中查找about关键字,以便在此URL中找到它 www.mysite.com/sites/index.php/some_user/about

请注意,这里index.php实际上不是索引页面,因为它位于站点控制器之后,它将g称为段(因此它不是htaccess。问题)

如果删除index.php www.mysite.com/sites/some_user/about

关于位于第3段