2011-04-24 27 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

相關問題