2014-10-31 36 views

回答

0

我相信你可以把這個根文件夾,並設置基本URL在配置:

$config['base_url'] = 'http://www.example.com/testsite/'; 

然後它工作。 可以有與第一應用服務的404頁的問題時,路由不匹配但是

+0

謝謝,我已經確定了,現在他的問題是,他在應用程序內部鏈接的所有內容都以/開頭,並將它們發送到根http://www.example.com/url/to/something而不是http://www.example.com/testsite/url/to/something。你知道是否有一種方法來重寫文件夾中的所有鏈接,使其保留在該文件夾中而不用修改所有應用程序?我一直在尋找一個httaccess的解決方案,但我沒有打任何有用的。 – CatZ 2014-10-31 23:48:09

+0

我可能會設置基地href元標記base_url,所以在頭: 「/> – Oliverb 2014-11-01 23:08:31

+0

嗨@Oliverb我該在哪裏設置?在每個文件/控制器/模型上? – CatZ 2014-11-02 10:20:38

0

我張貼在這裏的答案,因爲太長而使用它作爲一個評論...

我做它通過另一種方法:在config/database.php文件中設置不同的$ active_group。因此,首先我已經檢查了$ _GET中的參數,如果設置了這個參數,我們使用一個組,否則默認組(另一個組用於測試 - 一個單獨的數據庫,確切的結構,但不觸及main DB)

if(!isset($_SESSION)){session_start();} 

if (isset($_GET["debugmode"])){ 
    $active_group = 'demodb'; 
    $active_record = TRUE; 
    $_SESSION['debugmode'] = true; 
}elseif (isset($_SESSION["debugmode"])){ 
    $active_group = 'demodb'; 
    $active_record = TRUE; 
}elseif(!isset($_GET["debugmode"]) && !isset($_SESSION["debugmode"])){ 
    $active_group = 'default'; 
    $active_record = TRUE; 
} 

爲了確保這將在所有的控制器/視圖的工作,因爲我們不會有$ _GET參數都在應用程序中,我們可以設置會話值,一旦我們有$ _GET參數存在。此外,我們必須確保在註銷或經過一定時間後銷燬該會話。

使用會話值的原因:默認情況下,CI使用該表來存儲會話,而不使用會話值,它會以某種方式強制使用默認數據庫,或者至少我無法找到它來欺騙這一步。