2016-08-16 158 views
0

我是codeigniter的新手,我正在開發一個在此框架上完成的項目。當我嘗試訪問諸如「mysite.com/about」之類的URL時,它給了我一個錯誤 404 Not found, 我在wamp和live主機上嘗試了很多.htaccess文件,但結果是一樣的。 我可以通過使用「mysite.com/index.php/about」訪問這些文件,但我想訪問這個「mysite.com/about」這不僅是關於頁面,而是所有非常非常非常頁面,我嘗試訪問像這樣使用「mysite.com/contact-us」 。我該如何解決這個問題?Codeigniter子域404未找到

+0

你有名字'控制器約??' – devpro

+0

只是一個快速的檢查有你命名你的控制器文件和類像這裏所說的名稱http://www.codeigniter.com/user_guide/general/controllers。html#let-s-try-it-hello-world – user4419336

+2

添加一些代碼,這應該標記爲不清楚 –

回答

1

寫這樣的代碼在你的.htaccess文件,並在rewrite_module WAMP服務器點擊

<IfModule mod_rewrite.c> 

    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 
    IndexIgnore * 

</IfModule> 
+0

我試過這個我應該放在哪裏.htaccess文件在我當前的文件夾index.php中或在一個文件夾中的wamp設置? –

0

默認情況下,笨將調用控制器,除非在所述第二URI段提供了一種方法,該指數()方法將被載入。

如果指數()方法不存在,它會404

這樣做是爲了在你的應用程序/配置/ routes.php文件文件中添加一行的另一種方法。如:

$route['about'] = 'main/about'; 

這意味着,這裏的URL匹配/ 將映射到主/約

是所述控制器和是內,該方法的請求例如。

查看文檔的這一部分進行更詳細的解釋 https://www.codeigniter.com/userguide3/general/routing.html

希望這有助於

+0

這已經改變了 $ route ['about'] ='about/index/$ 1'; $ route ['dorms-rooms'] ='dorms_rooms/index/$ 1'; 這樣子。這不僅適用於頁面,而且適用於所有頁面,我試圖訪問這個「mysite/about」 –

+0

你有關於控制器的index()方法嗎? – charj

+0

查看'hello world'的例子在這裏.. https://www.codeigniter.com/userguide3/general/controllers.html – charj

0

請確保您有一個名爲類爲您的控制器,控制器文件名。然後嘗試訪問該頁面,如下面的代碼所示。

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
 

 
class Pages extends CI_Controller { 
 
    
 
\t function about() 
 
\t { 
 

 
     $data['title'] = 'About us Page'; 
 
     $this->load->view('about', $data); //about is in views 
 
    \t } 
 

 
     } 
 

 
?>

文件名應該在這種情況下pages.php。

要訪問此鏈接中的關於頁面類型,請訪問mysite.com/index.php?/controllerfolder/pages/about。

如果你想要乾淨的網址並刪除index.php?編輯你的htaccess。使用此鏈接瞭解如何編輯您的htaccess https://www.formget.com/codeigniter-htaccess-remove-index-php/

希望這是有幫助的。由於

+0

你不需要關閉控制器'?>' – user4419336