2012-06-04 169 views
0

我檢查codeigniter用戶指南,但我沒有幸運解決我的問題。Codeigniter URI路由

我在本地主機上創建了一個網頁。

當我去http://localhost/webpage/這沒關係。它將轉到默認控制器。

我的默認控制器是Homepage並且有一個名爲indexguaranteeabout

方法當我去我的routes.php文件,我添加了這個:

$route['guarantee'] = "homepage/guarantee"; 
$route['about_us'] = "homepage/about"; 

然後嘗試訪問它http://localhost/webpage/guaranteehttp://localhost/webpage/about_us它顯示錯誤404

但是當我這樣做$route['default_controller'] = "homepage/guarantee";保證頁面將顯示。

任何人都可以幫助我解決這個問題嗎? 謝謝。

+0

你在這個文件夾上有任何'.htaccess'文件嗎? – rcdmk

+0

在應用程序文件夾裏面有一個'.htaccess',我沒有碰它,它是我正在使用的CodeIgniter的一個新副本.. – justin

+1

This沒問題,我只是問是否你已經添加了一個到根目錄。你用'http:// localhost/webpage/index.php/guarantee'試過了嗎? – rcdmk

回答

1

你需要刪除index.php。在您的應用程序/ config.php文件變化

$config['index_page'] = 'index.php'; 

$config['index_page'] = ''; 

然後把這個.htaccess文件在你的根文件夾(在同一文件夾中的index.php是:

Options -Indexes 
Options +FollowSymLinks 

# Set the default file for indexes 
DirectoryIndex index.php 

<IfModule mod_rewrite.c> 

    # Activate URL rewriting: 
RewriteEngine on 

# do not rewrite links to the documentation, assets and public files 
RewriteCond $1 !^(uploads|assets|js|css|images|img) 


    # but rewrite everything else 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
    # If we don't have mod_rewrite installed, all 404's 
    # can be sent to index.php, and everything works as normal. 
    ErrorDocument 404 index.php 
</IfModule> 
1

在您的application/config/config.php中,將$config['index_page']設置爲空,如 $config['index_page'] = '';應該工作。