2011-12-30 120 views
1

我在我的服務器安裝上使用Lighttpd,並且固定鏈接使用PHP FastCGI很好。但最近我用PHP-FPM更改FastCGI,而我的自定義永久鏈接不再有效。與Lighttpd和PHP-FPM的永久鏈接

每當我點擊一個帖子/頁面,wordpress只是把我帶到家裏/ frontpage。我的自定義永久鏈接是這樣的/%postname%-%post_id%.html 但是,如果我使用自定義永久鏈接像/index.php/%postname%/或/index.php/archives/%post_id%(包括index.php ) 有用!但這不是我想要的..

我試着在lighttpd.conf上使用server.error-handler-404 =「/index.php」,但仍然沒有運氣。

任何幫助將不勝感激。 謝謝!

回答

1

是的,你是對的,我必須使用國防部重寫。我的重寫規則是這樣的:

$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

嘗試,如果你需要一個特殊的結構中,存在或者如果WordPress是能夠找出查看與該內容使用http://redmine.lighttpd.net/wiki/1/Docs:ModRewrite
url.rewrite-once = ("^/(.+)$" => "/index.php/$1")
不知道。
關於您的錯誤處理程序:它將不會觸發,直到CGI應用程序返回404。並且從您所描述的wordpress更喜歡在發送404錯誤之前的重定向。這就是爲什麼它不工作:P