Web-Server

包含 mod_rewrite 時 Lighttpd 無法啟動

  • May 1, 2012

這是我的伺服器模組列表 ( modules.conf),它的工作沒有任何問題,並且在使用此列表時 lighttpd 執行正常:

server.modules = (
 "mod_access",
#  "mod_alias",
#  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
#  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)

當我想取消註釋mod_rewrite模組時出現問題:

server.modules = (
 "mod_access",
#  "mod_alias",
#  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)

然後,當我想執行我的 Web 伺服器時,我收到以下消息:

2012-05-01 15:01:18: (plugin.c.169) dlopen() 失敗: /usr/local/lib/lighttpd/mod_indexfile, mod_access.so 無法打開“/usr/local/lib/lighttpd/ mod_indexfile,mod_access.so"

2012-05-01 15:01:18: (server.c.656) 載入外掛最終失敗 /usr/local/etc/rc.d/lighttpd: 警告: 無法啟動 lighttpd

如您所見,該mod_access模組確實存在一些問題,但有點奇怪,尤其是當我評論該mod_rewrite模組然後它的工作時。

哪裡有問題?

$HTTP["host"] =~ "(^|\.)mywebsite\.com$" {
   server.modules += ( "mod_rewrite" )

那就是問題所在。不要server.modules在條件塊內修改。見這裡

引用自:https://serverfault.com/questions/384933