Я переношу сервер apache2 на Lighttpd, однако у меня возникли проблемы с Mod_Rewrite.
У меня есть каталог / api /, который мне нужно исключить из правил перезаписи следующим образом:
url.rewrite-once = (
".*\?(.*)$" => "/index.php?$1",
".*\.(js|ico|gif|jpg|png|css)$" => "$0",
"" => "/index.php"
)
Я попытался окружить блок
$HTTP["url"] !~ "^/api/" { }
Однако это не имеет никакого эффекта и просто исключает перезапись каждого URL-адреса. Кто-нибудь знает способ
а) Исключить / api / из перезаписи
б) исключить каждый фактический каталог, присутствующий на сервере, из перезаписи
Я видел сценарии Lua для Drupal, которые могут выполнять последнее, однако я не разбираюсь в Lua и не знаю, как настроить это для приложения Zend Framework.
Полная конфигурация: http://pastebin.com/ggjiTFLk
Ура
Измените первую часть:
".*\?(.*)$" => "/index.php?$1",
к "^/(?!api[/]).*\?(.*)$"
или "^/(?!api(?:$|/)).*\?(.*)$"