2013-08-01 107 views
0

我使用CodeIgniter框架在PHP中創建了一個站點。完成後,編輯routes.php文件,並添加.htaccess文件,從URL中刪除/index.php/部分。CodeIgniter在服務器上無法正常顯示網站

現在,當我嘗試在localhost中打開它時,它工作正常,我可以訪問http://localhost/mysite並獲取我想要的着陸頁。

但是,問題是當我嘗試訪問服務器上的網站時,出現錯誤。因此,如果我打開http://mysite.com之類的東西,我會看到CodeIngniters的默認404頁面。如果我指定了他的網址,我可以打開所有其他網頁,例如:http://mysite.com/about,但是當其他人打開網站時,他會得到一個錯誤,他不知道該輸入什麼才能通過該錯誤。

我應該怎麼做才能解決這個問題?提前致謝。

編輯:的.htaccess

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [NC,L,QSA] 
+0

你能告訴我們你對每個文件所做提到什麼樣的變化? – Dale

+0

我在想,錯誤是與htaccess文件專門 – Dale

+0

你改變了config.php的內容嗎? –

回答

0

這的.htaccess代碼對我的作品總是,你可以試試這個:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 
0

你的.htaccess確實引起了一些擔憂,你正試圖通過文件位置作爲一個查詢字符串,可以在CodeIgniter中工作,但有一個更好的方法來做到這一點。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* /index.php [L] 

此外,請確保您的config.php您有以下選項設置:

$config['uri_protocol'] = 'REQUEST_URI'; 

好運。

0

這的.htaccess代碼工作

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
在配置

而且

$config['index_page'] = ''; 
+0

編號它仍然給我404. –

+0

給我們你的routes.php –

+0

和$ config ['base_url'] \t ='YOUR WEBSITE'; –

相關問題