2013-10-30 108 views
0

我開發了一個使用Codeigniter的網站。它在本地主機上運行良好。當我託管它,並點擊鏈接,我得到「內部服務器錯誤」託管時Codeigniter無法正常工作

此外,我無法看到.htaccess文件。請告訴我我錯過了什麼。

完美的作品

本地主機:

$config['base_url'] = 'http://localhost/site/'; 

<a href="<?php echo base_url('welcome/page') ?>"> Welcome </a> 

當上面的鏈接點擊後,進入以下網址與完美的作品

http://localhost/site/welcome/page 

託管

公共Web服務器(錯誤):

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

<a href="<?php echo base_url('welcome/page') ?>"> Welcome </a> 

當上面的鏈接點擊後,進入以下網址,並給出了一個錯誤

http://mysite.com/welcome/page 
+0

試裝車這個網址上居屋特德服務器'http:// mysite.com/index.php /歡迎/頁'如果它的工作,那麼,你沒有啓用重寫模塊在服務器上的htaccess正常工作..我可以解釋,如果需要 –

+0

檢查你的htaccess文件,如果你已經包含mod_rewrite的'site /'部分以避免'index.php /'。如果你找到它,然後刪除它 –

+0

如果你的網站託管在IIS上,那麼你將需要'web.config'文件而不是'.htaccess' – Kits

回答

0

嘗試

<a href="<?php echo site_url('welcome/page') ?>"> Welcome </a>

看到文檔http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

OR 隱藏index.php

添加.htaccess文件

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond $1 !^(index\.php) 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 
+1

謝謝Eder。即使是一篇文章幫助我http://stackoverflow.com/a/4901156/1570901 – sravis

1

如果你有機會到Apache錯誤日誌檢查那些爲什麼你會收到'內部服務器錯誤'。

在Linux服務器上,通常位於'/var/log/apache2/error.log'中。

在Windows服務器上,它們可以默認爲'C:\ Program Files \ Apache \ logs'。或者,如果您使用該文件,則可以通過查看conf文件或虛擬主機conf文件來查找位置。