2011-04-24 28 views
1

我有写的“纯” PHP,即没有具体的框架已经用于写文件的许多脚本网站。此外,所有的URL都是使用.htaccess和特定的PHP脚本自定义的。为了顺利过渡,我想在不中断访问旧页面的情况下开始使用CodeIgniter来处理新页面,但是我在CodeIgniter上看到的所有文档给人的印象是整个网站(可能有一些例外)需要基于框架。CI中的新页面上了一个大的网站

有没有可能在这里和那里使用单页的框架,同时保留旧的网址和代码是否完整?

回答

2

简短的回答,是的。

你可以从你的子文件夹访问CI框架,比如,离开现有站点不变。

www.site.com/my_new_app/controller/method/ 

其中my_new_app是重命名的文件夹application

1

我会去你已经有一个适当的基本模板系统,并能呈现与您现有的网站整页的假设。因为Codeigniter实际上只是一个框架,所以没有什么能够阻止你使用vanilla php,比如include,或者额外的库和类。因此,您可以做的一件事是将您的网站转储到views文件夹中的子目录中,然后创建一个“主控”控制器,该控制器除了加载完整的HTML页面外什么都不做。

class Master extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
    } 

    function index() 
    { 
     // We're expecting something like "registration/how-to-apply" here 
     // Whatever your URL is. The .php extension is optional 
     $args = func_get_args(); 
     $path = 'path_to_my_old_site/'.explode('/', $args); 
     $this->load->view($path); 
    } 

} 

// Then use this in config/routes.php 
$route['(:any)'] = 'master/index/$1'; 

这将路线所有页面通过主控制器。因此,yoursite.com/pages/faq将加载文件application/views/old_site/pages/faq.php。如果您认为合适,您可以应用不同的路线。

这样,您可以将您的时间迁移到使用Codeigniter约定,一次一页。

+0

谢谢,但我认为这将是不切实际的,因为我已经使用mod_rewrite和自定义PHP脚本设置了一个复杂的URL重写系统。 – Johan 2011-04-26 16:01:37

+1

是的,您必须使用此方法将重写移动到'routes.php',并且可能有太多无法管理的内容。 – 2011-04-26 16:04:24

相关问题