2011-09-10 43 views
0

我是CI的全新用戶,我試圖從網址中刪除惱人的「index.php」。這是我使用的.htaccess:CodeIgniter 2在修改.htaccess後不再能夠使用PATH_INFO

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

正如你所看到的,我必須使用QUERY_STRING以使新的URL工作(注意問號的index.php後)。當我嘗試使用PATH_INFO(即沒有問號)時,我只收到No input file specified錯誤。

這很好,如果需要我可以使用QUERY_STRING,但是我不明白這個問題,因爲我在開始玩重寫之前使用了PATH_INFO就好了 - 例如,默認的「example .com/index.php/controller/function「正在工作,並使用PATH_INFO AFAIK。

有誰知道爲什麼在我的例子中htaccess打破PATH_INFO?對不起,這個愚蠢的問題。

回答

2

試試這個:

RewriteEngine on 
RewriteCond  %{REQUEST_FILENAME} !-d 
RewriteCond  %{REQUEST_FILENAME} !-f 
RewriteRule  .* index.php/%{REQUEST_URI} [L] 

重寫上述規定似乎對我目前工作的一個應用程序正常工作......他們通過與適當的PATH_INFO值沿着正確的GET請求。