У меня проблемы с настройкой правила перезаписи Lighttpd для установки Wordpress, которая находится внутри приложения CakePHP.
Структура папок выглядит следующим образом:
var/
www/
app/
webroot/
blog/
cake/
vendors/
Приложение cakePHP работает отлично. Если я пытаюсь получить доступ к http://domain.tld
, он загружает главную страницу приложения. Любая попытка доступа к контроллеру / действию также работает нормально. Проблема возникает, когда я пытаюсь загрузить любой пост WordPress. Структура URL для доступа к посту WP выглядит следующим образом: http://domain.tld/blog/post/post-slug
Что у меня сейчас на /etc/lighttpd/lighttpd.conf
это
$HTTP["host"] == "domain.tld" {
server.document-root = "/var/www/app/webroot/"
url.rewrite-once = (
"/(css|files|img|js|php)/(.*)" => "/$1/$2",
"^([^\?]*)(\?(.+))?$" => "/index.php?url=$1&$3",
)
}
$HTTP["url"] == "domain.tld/blog/" {
server.document-root = "/var/www/app/webroot/blog/"
url.rewrite-final = (
"^/(wp-admin|wp-includes|wp-content|gallery2)/(.*)" => "$0",
"^/(.*.php)" => "$0",
"^/(.*)$" => "/index.php/$1"
)
}
Когда я пытаюсь открыть сообщение в блоге, оно открывает страницу, которая кажется битым тортом. Он загружает представление по умолчанию для торта (верхний и нижний колонтитулы), но в основной части ничего нет. Это означает, что он вызывает контроллер / действие. Если я включаю отладку Configure::write('debug', 2)
, чтобы увидеть, что происходит, я получаю следующую ошибку:
Неустранимая ошибка: класс «Отладчик» не найден в /var/www/cake/libs/i18n.php в строке 107
В любой другой части приложения отладчик работает нормально.
Есть только два способа получить доступ к сообщению WP. Используя стандартные настройки постоянной ссылки WP (domain.tld/blog/?p=123
) или настройку server.document-root="/var/www/app/webroot/blog/"
, но в этом случае приложение cakePHP будет недоступно.
Примечание : все работает нормально, если я использую Apache.