我安裝了Apache for Windows。我買了CodeIgniter Professional並下載了它們的源代碼。它說我應該把它的.htaccess放在網站的根目錄下,所以我做了。我將基本網址設置爲http://127.0.0.1/kids/,其中kids是網站的根文件夾。它顯示主頁很好。當我點擊一個鏈接時,它總是給出404錯誤。它說,「請求的URL /index.php/welcome/cat/2在此服務器上找不到。」我在目錄中嘗試了幾種可能的.htaccess,但沒有成功。在.htaccess中,它指示:Codeigniter不是正確的路由
RewriteEngine on
RewriteCond $1 !^(index\.php|images|captcha|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
解釋爲什麼它根本不起作用?我也檢查了configs.php,它似乎也沒關係。 config ['index_page']設置爲空白。我刪除了.htaccess文件,但仍然出現同樣的問題,只是它說:「在此服務器上未找到請求的URL/kids/welcome/cat/2。」
時間浪費在試圖讓它工作,我失去耐心。
下面是CodeIgniter的專業指導:
「爲了使這些文件夾訪問笨,你還需要建立在你的網站的根文件夾一個小的.htaccess文件下面是什麼.htaccess文件看起來像它基本上包含allmvs某些文件和文件夾要在網站上查看說明:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|captcha|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
如果您熟悉Apache中的mod_rewrite,你會注意到,這條規則顯然是從消除的index.php任何目標的URL。下面當你配置CodeIgniter(和partic ularly config.php文件),你會明白爲什麼這是一個好主意。如果你不熟悉Apache中的mod_rewrite,不要被這個文件嚇倒。基本上,.htaccess文件提出了一些規則,其中一個從所有URL中刪除index.php。文件中的其他規則允許使用您將需要前進的各種其他文件夾(例如包含CSS,JavaScript,驗證碼文件和圖像的文件夾)。「
我按照指示進行操作......將如果我從根文件夾中刪除htaccess文件,它會顯示主頁。如果我添加htaccess文件,它會給出404錯誤。我移動了htaccess並且它沒有做任何事情。 。-route顯然,阿帕奇理解的htaccess否則將不顯示404錯誤
無法正常工作。它也導致主頁顯示404錯誤。沒有你的指示...仍然沒有。 – netrox 2010-08-04 04:02:08
@netrox嗯..有趣。看我的編輯,並希望我們可以從那裏工作。 – 2010-08-04 04:13:20
蒂姆,感謝調試提示..我補充說這條線重新路由到stackoverflow,它沒有問題重定向。(很好的調試技巧!)明顯的apache理解htaccess文件。 – netrox 2010-08-04 04:18:30