2011-12-15 90 views
0

我希望index.php包括在內,index.php不包括在我的URI中,以便在我的網站上順利運行。我需要它,因爲uploadify不起作用,它給我一個HTTP錯誤。Codeigniter:如果我想同時使用index.php和沒有index.php的URL,該怎麼辦?

它的工作原理,如果我改變了這個

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

這個

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

,但隨後整個系統工作不正常。

+0

只要確保通過教程來讓網站在沒有`index.php`的情況下工作。 然後,即使你使用index.php,它也可以工作。 [這是一個使用.htaccess刪除index.php的方法](http://codeigniter.com/user_guide/general/urls.html) – Indranil 2011-12-15 05:53:02

回答

0

對於您的資產,首先,在config.php上將$config['base_url']設置爲您的網站網址。

然後連接到您不想要的index.php資產時,只需使用功能base_url

<?php echo base_url("assets/uploadify/uploadify.swf"); ?> 
// Generates http://URL/assets/uploadify/uploadify.swf 
0

按照上面Indranil評論的鏈接從你的URI中刪除的index.php修改您的.htaccess文件。

這裏又是地址供參考:

http://codeigniter.com/user_guide/general/urls.html 

同時也請記住,這可以從主機有所不同,它需要被格式化的方式舉辦,所以跟進與您的託管服務。大多數情況下都有指導,向您展示如何正確配置。

我也想知道你如何使用你的鏈接,但我會繼續解釋我認爲可能發生在你身上的事情。如果您在CodeIgniter中使用URL Helper進行任何鏈接/錨點或redirect(),請確保您使用正確的功能執行這些操作。這就是我的意思:

site_url()函數/方法將始終在您的URI中包含index.php。以下是使用網站名稱http://example.com作爲您網站域名的示例。

<?php echo site_url('home') ?>會變成http://example.com/index.php/home

雖然base_url()功能/方法將總是排除的index.php,除非你有它。以下是使用網站名稱http://example.com作爲您網站域名的示例。

<?php echo base_url('home') ?>會變成http://example.com/home

<?php echo base_url('index.php/home') ?>會變成http://example.com/index.php/home

請記住,當你已經正確修改.htaccess文件中使用這些函數/方法纔是有效的。

以下鏈接顯示了site_url()base_url()函數之間的更深入的區別。

http://codeigniter.com/user_guide/helpers/url_helper.html 

我希望這有助於!