2012-09-05 90 views
0

我最近將我的codeigniter項目上傳到我的web服務器上。web服務器上的mvc配置

很文件夾,名爲PROJECT1這是我的目錄視圖看起來像

[www.myurl.com] 
    |-> project1 
     |-> application 
     |-> css 
     |-> images 
     |-> js 

我有兩個問題。

第一個是我希望它在我去www.myurl.com時加載我的歡迎視圖,而不是 (www.myurl.com/project1/main_controller/index.php/welcome)。我如何擺脫所有的垃圾?

第二個問題是當我使用<?php echo base_url();?>它顯示在視圖源罰款,但當我點擊它,它回聲的URL [www.myurl.com/project1/www.myurl.com/project1/]爲什麼是它這樣做?

回答

2

看起來您已將CodeIgniter安裝到子目錄中。如果您希望您的CI站點從根網址加載,則應該將其複製到一個目錄中,以便應用程序&系統文件夾直接位於您的Web目錄的根網址下。從那裏,由shail(和下面引用的)發佈的.htaccess規則應該注意刪除路徑中的index.php。

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ ci/index.php/$1 [L] 

關於SITE_URL()問題,請確保您有$配置[ 'BASE_URL']變量集的application/config/config.php文件,它包含了結尾的斜線。如果一切都設置正確http://www.myurl.com/welcome

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

爲了進一步測試,嘗試將參數傳遞到SITE_URL()函數是這樣的:

echo site_url(welcome); 

應返回。

+0

你的意思是在我的www文件夾中,或者甚至在基本目錄下的更深層? – Undermine2k

+0

是的,它應該位於您的Web目錄的絕對頂層。 – nageeb

+0

謝謝你會試試看 – Undermine2k

1

讓CI啓動並運行相當簡單。其中大部分要求您編輯幾個配置文件 。

您需要設置CI以指向應用的正確基本URL。爲此,打開system/application/config/config.php並編輯base_url數組項以指向您的服務器和CI文件夾。 view plaincopy to clipboardprint?

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

目前,CI設置將有一個名爲「welcome.php」的默認控制器;你可以在system/application/controllers文件夾中找到它。對於本教程,請將其刪除並打開您的system/application/config/routes.php文件。將默認數組項目更改爲指向「helloworld」控制器。 view plaincopy to clipboardprint?

$route['default_controller'] = "Helloworld" 

CI也有一個我們不需要的視圖文件。打開系統/應用程序/視圖/文件夾 並刪除welcome_message.php文件。

您可以在此更改您的默認控制器。

爲了編輯Url http://localhost/ci/index.php/helloworld/。你可以通過幾件事來改善你的CodeIgniter體驗 - 就像從網址中移除惱人的index.php位。您可以通過在根文件夾中創建.htaccess文件並添加以下代碼來完成此任務。

上 的RewriteCond $ 1 RewriteEngine敘述^(index.php文件|圖片| robots.txt的)!(。*) 重寫規則^ $ CI /的index.php/$ 1 [L]

您還需要打開system/application/config /中的config.php文件,並將index_page數組項目編輯爲空字符串。 view plaincopy to clipboardprint?

$config['index_page'] = ""; 

另一個漂亮的伎倆是打開CI的解析PHP語法如果 不是由服務器啓用的能力。爲此,請打開與之前相同的文件system/application/config/config.php,並將rewrite_short_tags數組項設置爲TRUE。 view plaincopy to clipboardprint?

$config['rewrite_short_tags'] = TRUE; 

我希望一切順利!

+1

您應該對格式化您的複製粘貼答案更仔細一點。 – nageeb

+0

猜猜我錯過了這部分〜_〜 – Undermine2k

+0

@nageeb carefull for ???????????????????? – shail