2011-12-30 1 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

네, 맞습니다. mod를 다시 써야합니다. 내 재 작성 규칙은 다음과 같습니다.

$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

봅니다 http://redmine.lighttpd.net/wiki/1/Docs:ModRewrite
url.rewrite-once = ("^/(.+)$" => "/index.php/$1")
어떤 아이디어를 사용할 수 없습니다.
오류 처리기 : CGI 응용 프로그램이 404를 반환 할 때까지 트리거되지 않습니다. 그리고 Wordpress는 404 오류를 보내기 전에 리디렉션을 선호합니다. 그것이 작동하지 않는 이유입니다 : P