2014-10-02 77 views
0

我有一個定義了路由的CodeIgniter/Bonfire應用程序。
主要URL可以正常工作,但子頁面不會重定向。
當我輸入的網址:CodeIgniter/Bonfire應用程序中的路徑顯示頁面未找到

http://xtrack.local/news/1393/litany-look 

我有錯誤頁面NOT FOUND和看起來像它無法找到BASE_URL:

Not Found 
The requested URL /news/1393/litany-look was not found on this server. 

這裏是我的路線中的application/config/routes.php文件文件:

$route['news/(:any)']     = 'home/news/$1'; 

而且我的配置文件定義我BASE_URL:

switch (ENVIRONMENT) 
    { 
     case 'development': 
      $config['base_url'] = 'http://xtrack.local'; 
      break; 

     default: 
      exit('The application environment is not set correctly.'); 
    } 

EDIT1: 我發現了一種方法,通過index.php頁面來訪問我的新聞頁面:

http://xtrack.local/index.php/news/1393/litany-look 

回答

1

index.php文件是必要的,因爲這是獲取所有組件的應用程序的入口點準備好了,包括路由器。你可以在apache主機上使用.htaccess文件來隱式地將請求傳遞給這個文件。從手冊:


默認情況下,index.php文件將被包含在你的URL:

example.com/index.php/news/article/my_article

您可以輕鬆地通過使用帶有一些簡單規則的.htaccess文件來刪除此文件。下面是這樣一個文件的一個例子,使用「負」的方法中,一切都被重定向除指定的項目:比那些的index.php, 圖像之外

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

在上面的例子中,任何HTTP請求,robots.txt被視爲您的index.php 文件的請求。


所以後來的網址將成爲example.com/news/article/my_article,或在你的情況下,一個在您的文章的開頭。

+0

偉大的你讓我走在答案的路上:其實主要的問題是我的虛擬主機路徑沒有通過MAMP htdocs文件夾定義,而是通過非Apache路徑,所以我的htaccess根本不工作。謝謝 ! – migswd 2014-10-03 06:12:18

相關問題