Jump to main content Jump to doc navigation

lighttpd не использует .htaccess в стиле Apache. Правила перезаписи для дружественных URL задают в lighttpd.conf (на Linux часто /etc/lighttpd/lighttpd.conf).

Такая схема для MODX встречается редко. По возможности выберите Apache или nginx. Когда перезапись заработает, завершите шаги MODX из Использование дружественных URL.

Включите mod_rewrite

  1. Откройте lighttpd.conf.
  2. Найдите server.modules.
  3. Убедитесь, что mod_rewrite указан и не закомментирован.
  4. Перезагрузите lighttpd после сохранения.

Добавьте правила перезаписи

Найдите блок хоста / document-root для сайта, например:

$SERVER["socket"] == ":80" {
 $HTTP["host"] =~ "example.com" {
 server.document-root = "/var/www/example.com"
 server.name = "example.com"

Добавьте правила под этим хостом, чтобы существующие файлы и пути assets, manager, connectors и .well-known не перезаписывались. core/ намеренно не включён в список, чтобы его файлы (например core/docs/changelog.txt) никогда не отдавались как статические — запросы уходят в MODX и получают 404:

    url.rewrite-once = (
        "^/(assets|manager|connectors|\.well-known)(.*)$" => "/$1/$2",
        "^/(?!index\.php)(.*)\?(.*)$" => "/index.php?q=$1&$2",
        "^/(?!index\.php)(.*)$" => "/index.php?q=$1"
    )

Исключите дополнительные пути

lighttpd пропускает только перечисленные пути. Чтобы защитить ещё один веб-доступный каталог, расширьте первый шаблон через |dirname, например (assets|manager|connectors|media). Добавьте в тот же шаблон |robots\.txt|/favicon\.ico, если эти файлы лежат в корне документа и должны отдаваться напрямую.

Эти правила рассчитаны на lighttpd 1.4.x: он матчит полный URI запроса, включая query string.

Перезагрузите lighttpd, затем включите дружественные URL в Менеджере и очистите кеш.

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$194 per month—let's make that $500!

Learn more