Ошибка в псевдониме URL в lighttpd

У меня есть эта конфигурация:

   alias.url = (
       "/acruz/" => "/var/www/localhost/htdocs/acruz/",
       "/jvangemeren/" => "/var/www/localhost/htdocs/jvangemeren",
       "/doceno/" => "/var/www/localhost/htdocs/doceno"
   )

Я уже пытался использовать alias.url += для каждого, но он работает только с первым: acruz, другие не работают... какие-нибудь идеи?

РЕДАКТИРОВАТЬ 1: lighttpd -p -f результат

Это результат текущей конфигурации:

alias.url            = (
    "/acruz/"       => "/var/www/localhost/htdocs/acruz/public/",
    "/jvangemeren/" => "/var/www/localhost/htdocs/jvangemeren/public",
    "/doceno/"      => "/var/www/localhost/htdocs/doceno/public",
    # 3
)

И после этого с += это то же самое...

2 ответа

Решение

Я получил документ Lighttpd's mod_alias модуль. Могу поспорить, у вас есть проблемы с косой чертой. Убедитесь, что все записи псевдонимов заканчиваются косой чертой:

alias.url = (
       "/acruz/" => "/var/www/localhost/htdocs/acruz/",
       "/jvangemeren/" => "/var/www/localhost/htdocs/jvangemeren/",
       "/doceno/" => "/var/www/localhost/htdocs/doceno/"
)

В документации также есть важное примечание:

Поскольку завершающие косые черты удаляются из URL-адреса перед сопоставлением с псевдонимом, псевдоним "/content/ => "/dirtocontent/"не будет соответствовать URL-адресу"/content/"; он соответствует только чему-то вроде"/content/somefile"или" / содержание /somesubdir/".

Поэтому в большинстве случаев вам не следует использовать косую черту слева (но используйте ее справа!): "/ Content" => "/dirtocontent/"

Теперь "/content_x1/" отображается на "/dirtocontent/_x1", "/content/" -> "/dirtocontent/" и "/content/somefile" -> "/dirtocontent//somefile" (да, двойной слеш),

Если вы также не используете его с правой стороны, "/content_x1/" сопоставляется с "/dirtocontent_x1", что, вероятно, вам не нужно.

Использование lighttpd -p -f /etc/lighttpd/lighttpd.conf чтобы увидеть, как светлый видит ваш конфиг после += оценка.

Другие вопросы по тегам