2012-02-13 84 views
2

我從apache移動到lighttpd,從那以後某些URL打破了重寫並給出了404。access.log中沒有任何細節,關於實際URL被擊中的error.log。Lighttpd改寫爲Codeigniter打破某些URL

這些方面的工作: http://192.168.1.250/loop/rest/admin

但不是這些: http://192.168.1.250/loop/rest/admin/logs/file::log-2012-02-14.php

如果我跳過重寫和使用 http://192.168.1.250/loop/rest/index.php?/admin/logs/file::log-2012-02-14.php

我得到了我想要的東西,

這裏是我的改寫規則:

url.rewrite-once = (
"/(.*)\.(.*)" => "$0", 
"/(css|files|img|js|stats)/" => "$0", 
"^/([^.]+)$" => "/loop/rest/index.php/$1" 
) 

任何幫助,將不勝感激。

回答

0

我已經找到了正確的規則:

首先請確保你的根指令指向您的CI setupd的根源。

root /var/www/loop; 

那麼這個位置的指令將完全正常工作:

location/
    { 
    if (!-e $request_filename) 
    { 
     rewrite ^/(.*)$ /index.php?/$1 last; 
     break; 
    } 
    } 
4

我只是有同樣的問題上lighttpd的

測試我笨應用

時,這個工作對我來說:

url.rewrite = (
     ".*\.(js|ico|gif|jpg|png|swf|css|html)$" => "$0", 
     "^/(.*)$" => "index.php/$1" 
) 

也許你可以試試這個適合你的設置:

url.rewrite = (
      ".*\.(js|ico|gif|jpg|png|swf|css|html)$" => "$0", 
      "^/(.*)$" => "/loop/rest/index.php/$1" 
    ) 

確保你的頂部沒有註釋mod_rewrite ..它默認帶有#前面的#。

+0

感謝您的輸入,但是我發現,工程:)簡單得多規則 – BlackDivine 2012-03-07 01:29:56