包含 mod_rewrite 时 Lighttpd 无法启动

包含 mod_rewrite 时 Lighttpd 无法启动

这是我的服务器模块列表(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",
)

然后,当我想要运行我的网络服务器时,我收到了以下消息:

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:警告:无法启动 lig​​httpd

正如您所看到的,该mod_access模块确实存在一些问题,但有点奇怪,尤其是当我回复该mod_rewrite模块的评论时它就可以正常工作了。

哪里有问题?

答案1

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

这就是问题所在。不要server.modules在条件块内进行修改。参见这里

相关内容