2016-02-09 107 views
0

我使用codeigniter開發一個簡單的PHP項目。 我htaccess的是這樣的代碼點火器總是希望index.php訪問控制器

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

我的基本URL是

$config['base_url'] = 'http://localhost/Achalaweerasooriya.github.io'; 

我的索引頁

$config['index_page'] =""; 

我的主控制器類的LoginController。

當我運行它調用登錄控制器項目和URL是

http://localhost/Achalaweerasooriya.github.io/index.php 

這顯示登錄表單。當我輸入登錄信息並點擊登錄時,它應該驗證用戶。我已經給登錄按鈕的href是

href="<?php echo base_url('');?>LoginController/validate" 

那麼該URL顯示爲

"http://localhost/Achalaweerasooriya.github.io/LoginController/validate" 

這在邏輯上是正確的。

但是當我點擊使用正確的用戶名和密碼登錄按鈕生成說對象沒有找到404錯誤 錯誤說 「未找到對象!

的請求的URL沒有此服務器上找到。如果你進入網址手動,請檢查您的拼寫,然後重試。

如果你認爲這是一個服務器錯誤,請與網站管理員聯繫。

錯誤404

本地主機 的Apache/2.4.17(Win32的)的OpenSSL/1.0.2d PHP/30" 年5月5日

,但如果我手動添加的index.php到URL(當時的URL看起來 「http://localhost/Achalaweerasooriya.github.io/index.php/LoginController/validate」),那麼,顯示正確的頁面。 作爲一種解決方案,我添加index.php來基本URL,使得其看起來像

$config['base_url'] = 'http://localhost/Achalaweerasooriya.github.io/index.php'; 

但隨後由於IVE使用的BASE_URL();調用鏈接外部CSS和JavaScripts,他們停止響應,因爲他們應該。

請指向正確的方向。提前感謝。

+0

不要把index.php文件'$配置[ 'BASE_URL'] =「HTTP://本地主機';' – user4419336

+0

這不會改變任何東西。自動運行它會在運行時得到index.php –

+0

你使用的是wamp還是xampp – user4419336

回答

0

如果你的.htaccess文件正在然後刪除相關的index.php舊的代碼行,並添加以下代碼

或者只是做的.htaccess空白,試試下面的代碼。它爲我工作。

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php?/$0 [QSA,L] 
</IfModule>