papilio

WordPress и lighttpd

Мы поставили WordPress не на Apache, как это обычно бывает, а на перспективный lighttpd. Главным достоинством из многих для нас была скорость работы и малый объём занимаемой памяти.

Но! К сожалению у lighttpd собственный модуль mod_rewite и соответственно собственный синтаксис к нему, и к тому же совсем не поддерживаются столь привычные многим файлы .htaccess. Поэтому стандартные настройки для permalink (постоянные ссылки или ЧПУ) в WordPress не подходят. Однако, всё можно настроить.

В интернете предлагают хороший работающий метод без использования модуля mod_rewrite:

server.error-handler-404 = "/index.php?error=404"

— однако, например, у вас не будет работать поиск на сайте, так как таким способов не передаются GET-запросы.

Мы же стали решили всё-таки воспользоваться mod_rewrite. Для этого достаточно написать в блок с настройками vhost следующее:

  • Для WordPress
    url.redirect = ("^/(.*)" => "http://%1/$1")
    url.rewrite-once = (
          "^/(wp-.*)$" => "$1",
          "^/(.*\.(ico|jpg|jpeg|png|gif|css|js))" => "$1",
          "^/([_0-9a-zA-Z-]+/)?(wp-.*)" => "$2",
          "^/([_0-9a-zA-Z-]+/)?(.*\.php)$" => "$2",
          "^/(.+)/?$" => "index.php/$1",
          "." => "index.php"
    )

    — вторая строчка — моя импровизация для поддержки некоторых типов файлов, которые не лежат в папках wp- .

  • Для WordPress MU (блоги как директории)
    url.redirect = ("^/(.*)" => "http://%1/$1")
    url.rewrite-once = (
         "^/(.*)?/?files/$" => "index.php",
         "^/(.*)?/?files/(.*)" => "wp-content/blogs.php?file=$2",
         "^/(wp-.*)$" => "$1",
         "^/([_0-9a-zA-Z-]+/)?(wp-.*)" => "$2",
         "^/([_0-9a-zA-Z-]+/)?(.*\.php)$" => "$2",
         "^/(.+)/?$" => "index.php/$1",
         "." => "index.php"
    )

    — почти аналогично. В этот же блок необходимо вставлять и перезапись, необходимую для некоторых плагинов (например, WordPress Download Monitor):

    "^/download/(.+)" => "wp-content/plugins/wp-downloadMonitor/download.php?id=$1"

После этих настроек всё работает: и постоянные ссылки, и поиск по блогу.

Связанные записи:

  1. Увеличение производительности WordPress: WP Super Cache и Lighttpd Заканчивая цикл статей по mod_magnet и lighttpd стоит упомянуть настройку...
  2. Удаление /blog из WordPress MU Сразу же после установки WordPress MU permalink (постоянные ссылки) для...
  3. Использование mod_magnet для блогов на WordPress Если у вас в качестве сервера выбран быстрый и лёгкий...
  4. Обновление до WordPress MU После того, как за последний месяц резко увеличилось количество желающих...
  5. Типограф для WordPress Я думаю, что многие знакомы с типографикой: она важна для...

Метки: , , , , ,



Оставить комментарий