Я установил lighttpd под Debian с небольшим API. Текущие правила перезаписи:
url.rewrite = (
"^/(.*)\.(.+)$" => "$0",
"^/(.*)$" => "/index.php/$1"
)
Идея заключается в следующем (как обычно в Apache):
index.php
;В большинстве случаев он работает нормально, однако возникает проблема, если URL-адрес содержит точку .
он просто будет рассматривать его как статический файл, вызывающий ошибку 404 (из-за первой строки).
Как сделать так, чтобы этого не произошло и запрос был переписан на index.php
? Также есть некоторые условия:
Спасибо.
Возможно, это можно сделать с помощью Lighty's параметр server.error-handler-404 с заданным index.php в качестве страницы ошибки. Если вы обрабатываете некоторую дополнительную информацию о неправильном URL-адресе (я вижу / $ 1 во втором правиле перезаписи), вы можете попытаться получить это через PHP SERVER_HTTP_REFERER.