1

我正在使用 Codeigniter 2,我有一些从后台创建的动态页面 (CMS),页面名称为 ID。有些页面是静态的,有一个例子:

动态页面:

www.domain.com/privacy
www.domain.com/about

和静态页面:

www.domain.com/invitation

所以问题是如何路由此页面:我尝试使用:

 $route['([a-z0-9\-]+)'] = 'home/cms/$1';

但它给了我 404 静态页面(www.domain.com/invitation

任何帮助,并提前感谢您

4

1 回答 1

1

您可以从文件中的重定向中显式删除静态.htaccess文件:

RewriteEngine on
RewriteCond $1 !^(invitation\.php|index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

或者,您可以使用该_remap功能。在_remap函数内部,您将检查“方法”是否存在物理文件 - 如果存在,则加载它 - 如果不存在,则路由到控制器方法:

public function _remap($method, $params = array())
{
    $filepath = BASEPATH.$method.".php";
    if (file_exists($filepath))
    {
        include($filepath);
        return;
    }
    else if (method_exists($this, $method))
    {
        return call_user_func_array(array($this, $method), $params);
    }
    else
    {
        show_404();
    }
}
于 2013-02-05T21:37:50.043 回答