[CodeIgniter] No input file specified.

今天在將 tzangms.com CI 化的時候碰到了個問題, 就是一直出現下面這一行訊息

No input file specified.

第一次碰到這個, 完全沒頭緒! 原本以為是因為 modrewrite 沒設定好的關係, 所以才出現這個訊息。之後我找了好多 modrewrite 相關的資料, 還是沒辦法解決問題, 一邊修改設定, 一邊測試下面這個網址, 仍然還是一樣顯示 No input file specified.

http://tzangms.com/main

後來才發現我取消 mod_rewrite, 直接打下面這段網址也是出現相同的錯誤訊息。

http://tzangms.com/index.php/main

這時候才知道, 原來 modrewrite 沒設錯阿!! modrewrite 一直正確的運作著, 所以上面這兩個網址是一直指到同一個地方, 所以我才一直看到相同的訊息, 這才恍然大悟! main 一直有正確的 rewrite 成 index.php/main 阿!

後來不知道怎找的, 找到 CodeIgniterTroubleshooting, 原來答案就這裡面阿!! 裡面寫到

it might be that your server does not support the PATH_INFO variable

反正就是說 index.php/main 不能用, 要改用 index.php?/main 就是了 (差一個問號)

後來我照著文章裡面寫, 修改 config.php 中的 URI Protocal, 結果沒用, 之後我就把 rewrite 改掉如下, 哈! Done!!

原本的 rewrite

RewriteRule ^(.*)$ index.php/$1 [L]

改成

RewriteRule ^(.*)$ index.php?/$1 [L]

在這個問題中, 領悟到了一件事, 就是~ CodeIgniter 多貼心阿!!!

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!