Jump to main content Jump to doc navigation

Руководство по настройке и дружественных URL

  • Этот гид освещает только настройку перезаписи URL и работу дружественных URL
  • Предполагается, что у вас уже есть работающая связка lighttpd+mysql+PHP

Настройка дружественных URL

lighttpd использует отличную от Apache систему перезаписи адресов. Перезапись URL выполняется в файле lighttpd.conf

  • Сначала нужно убедиться, что модуль перезаписи URL включен.

    • Откройте ваш конфигурационный файл lighttpd.conf (В Linux системах, обычно он распологается /etc/lighttpd/lighttpd.conf).
    • Найдите директиву server.modules.
    • Найдите в этой директиве запись mod_rewrite,.
    • По умолчанию перед ней стоит #. Это символ комментария. Удалите # из строки и сохраните файл.
  • Далее нам нужно найти место, в которое нужно поместить дружественный URL-код. Найдите похожий код:

$SERVER["socket"] == ":80" {
$HTTP["host"] =~ "yourdomainname.com" {
    server.document-root = "/path/to/your/doc/root"
    server.name = "yourservername"
  • Непосредственно под этим вы должны добавить следующий код.
url.rewrite-once = ( "^/(assets|manager|core|connectors)(.*)$" => "/$1/$2",
    "^/(?!index(?:-ajax)?\.php)(.*)\?(.*)$" => "/index.php?q=$1&$2",
    "^/(?!index(?:-ajax)?\.php)(.*)$" => "/index.php?q=$1"
)

Внимание! Lighttpd обрабатывает URL-адреса немного иначе. В файле конфигурации, вы должны исключить любые файлы и/или папки, адреса которых вы не хотите переписывать. В приведенном выше примере исключены каталоги/файлы (assets | manager | core | connectors). Если вы хотите добавить к исключениям ещё, что-то просто добавьте еще один |, а затем укажите имя файла/папки, которые вы хотите пропустить при переписывании URL.

Теперь дружественные URL будут работать.