我努力让我的代码在nginx上工作。 这个configuration适用于lighttpd,但是我想把它迁移到nginx。
在lighttd上重写规则:
url.rewrite-once = ( "^/(ui)/(.*)$" => "/gi.php/$1/$2", "/(.*)\.(.*)" => "$0", "/(xhr|js-api)/(.*)" => "$0", "^/([^.]+)$" => "/gi.php/$1" )
任何人都可以帮助在这个转换? 我尝试了很多东西,包括将其转换为Apache重写规则,但没有一个工作。
Nginx规则:
if (!-f $request_filename){ set $rule_0 1$rule_0; } if (!-d $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ rewrite ^/(.*)$ /gi.php/$1 last; } Error : 404
有什么build议么?
你通常不会在nginx中重写,就像你在Apache或者lighttpd中一样。 大多数这样的事情应该用try_files代替。
一个简单的例子:
try_files $uri $uri/ /gi.php
有关更多详细信息,请参见nginx文档。