这是我的服务器模块列表(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:警告:无法启动 lighttpd
正如您所看到的,该mod_access
模块确实存在一些问题,但有点奇怪,尤其是当我回复该mod_rewrite
模块的评论时它就可以正常工作了。
哪里有问题?
答案1
$HTTP["host"] =~ "(^|\.)mywebsite\.com$" {
server.modules += ( "mod_rewrite" )
这就是问题所在。不要server.modules
在条件块内进行修改。参见这里。