Постоянные ссылки с Lighttpd и PHP-FPM - PullRequest
1 голос
/ 30 декабря 2011

Я использую Lighttpd на моем сервере, и постоянные ссылки прошли нормально с PHP FastCGI.Но недавно я изменил FastCGI на PHP-FPM, и мои пользовательские постоянные ссылки больше не работают.

Каждый раз, когда я нажимаю на сообщение / страницу, WordPress просто возвращает меня на главную / главную страницу.Мои пользовательские постоянные ссылки выглядят следующим образом /%postname%-%post_id%.html Но если я использую пользовательские постоянные ссылки, такие как /index.php/%postname%/ или /index.php/archives/%post_id% (включая index.php)оно работает!Но это не то, что я хочу ..

Я пытался использовать server.error-handler-404 = "/index.php" на lighttpd.conf, но все равно не повезло.

Любая помощь будетс благодарностью.Спасибо!

Ответы [ 2 ]

1 голос
/ 09 января 2012

да, вы правы, я должен использовать мод переписать.мои правила переписывания таковы:

$HTTP["host"] =~ "(^|\.)domain\.com$" {
   url.rewrite-once = (
      # Exclude additional specific directories from rewrites
      "^/(files)/?(.*)" => "$0",
      "^/(mysql)/?(.*)" => "$0",

      "^/(wp-.+).*/?" => "$0",
      "^/(favicon.ico)" => "$0",
      "^/(sitemap.xml)" => "$0",
      "^/(xmlrpc.php)" => "$0",
      "^/keyword/([A-Za-z_0-9-])/?$" => "index.php?keyword=$1",
      "^/(.+)/?$" => "index.php/$1"
   )  
}

и теперь это работает отлично.Спасибо!

1 голос
/ 03 января 2012

Попробуйте использовать http://redmine.lighttpd.net/wiki/1/Docs:ModRewrite
url.rewrite-once = ( "^/(.+)$" => "/index.php/$1" )
Не знаю, нужна ли вам там особая структура или WordPress может определить, какой контент просматривать с этим.
О вашем обработчике ошибок: он не сработает, пока приложение CGI не вернет 404. И из того, что вы описали, wordpress предпочитает перенаправление перед отправкой вам ошибки 404. Вот почему это не работает: P

...