原来使用Apache2.2,只要开启使用rewrite模块,在Drupal中:管理(admin)-站点设置(settings)-简洁链接
(Clean
URLS)里,Drupal会自动检测可以使用简介链接,选择启用(enable),就会使用默认的.htaccess文件来完成简洁链接的功能。
但是,当我把Apache2.2换为Lighttpd1.4.xx后,Drupal无法自动检测是否可以使用简洁链接功能。google一阵,发现解决的方法其实很简单。
首先,修改Lighttpd配置文件,比如我使用Lighttpd目录下的conf/lighttpd-inc.conf配置文件,那么就修改这个文件,开启rewrite模块:
<!---->
server.modules
=
(
### 其他模块
### rewrite模块
"
mod_rewrite
"
)
参考Drupal默认的.htaccess文件里rewrite模块部分:
<!----><IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q
=
$
1
[
L,QSA
]
</IfModule>
看到没有,只有一条RewriteRule,就是它了。那么怎么样把它“移植”到Lighttpd的配置文件里呢?很简单,在Lighttpd配置文件里添加:
<!---->#### url handling modules (rewrite
,
redirect
,
access)
url.rewrite
=
(
"
^/cms/(.*)$
"
=
>
"
/cms/index.php?q=$1
"
)
然后进入Drupal目录,修改sites/default/settings.php文件,在末尾处添加:
<!---->/**
* Clean URL
**/
$conf
[
'clean_url'
]
=
1
;
现在访问http://wind/cms/,发现大部分功能都正常,比如用户登录。但是页面很粗糙,多媒体文件(图片什么的)和CSS排版都
没有加载,于是还需要增加一个RewriteRule,放在"^/cms/(.*)$" =>
"/cms/index.php?q=$1"的前面,现在的RewriteRule配置是这样子的:
<!---->#### url handling modules (rewrite
,
redirect
,
access)
url.rewrite
=
(
"
^/cms/(.*.gif|.*.png|.*.jpg|.*.pdf|.*.js|.*.css)
"
=
>
"
/cms/$1
"
,
"
^/cms/(.*)$
"
=
>
"
/cms/index.php?q=$1
"
)
现在访问http://wind/cms/,一切正常了哦!
WordPress的设置就更加简单了,依然查看WordPress
目录下的.htaccess文件,查看Apache下WordPress的RewriteRule,在Lighttpd的rewrite模块配置里添加一
条RewriteRule,最后Drupal/WordPress的rewrite模块配置是类似这样子的:
<!---->#### url handling modules (rewrite
,
redirect
,
access)
url.rewrite
=
(
"
^/blog/(archives|categories|comments|feed)/
"
=
>
"
/blog/index.php
"
,
"
^/cms/(.*.gif|.*.png|.*.jpg|.*.pdf|.*.js|.*.css)
"
=
>
"
/cms/$1
"
,
"
^/cms/(.*)$
"
=
>
"
/cms/index.php?q=$1
"
)
哈哈,是不是很简单呢?不过要注意,在rewrite模块配置之前请不要设置server.error-handler-404,不然只显示404错误哦~
(注:我是在公司局域网里架设的服务器,主机域名为http://wind/,www根目录为G:\pub。WinXP下Apache2
/Lighttpd+PHP5+MySQL5做服务器。Lighttpd使用FastCGI。Drupal目录为G:\pub
\cms,WordPress目录为G:\pub\blog。)
分享到:
相关推荐
1、下载mongoose使用mongoose中的example中的websocket_chat,实现websocket 2、websocket_chat源码下载路径 官网:https://cesanta.com 论坛:https://forum.mongoose-os.com/index.php?p=/categories/mongoose ...
5. **模块加载**:通过`mod_*`来启用或禁用特定功能,如`server.modules = ("mod_access", "mod_rewrite")`。 6. **URL重写**:`url.rewrite` 使用正则表达式进行URL重写,可以实现动态请求的处理和SEO优化。 7. **...
var.server_root = "/home/caoft/lighttpd/lighttpd_websocket_fastcgi/http_server" var.state_dir = "/home/caoft/lighttpd/lighttpd_websocket_fastcgi/http_server" var.home_dir = "/home/caoft/lighttpd/...
lighttpd支持模块化扩展,可以根据需求选择安装和启用不同的模块,如mod_access、mod_rewrite、mod_deflate等,以实现更高级的功能。 10. **社区支持与更新** lighttpd拥有活跃的开发者社区,用户可以通过官方...
每个模块都是一个单独的`.c`文件,如`mod_access.c`、`mod_rewrite.c`等,它们通过lighttpd的模块接口注册和执行各自的功能。 6. **内存管理** lighttpd在内存管理上注重效率和安全性,`lighttpd-1.4.20/src/...
如果需要额外的功能支持,如 SSL、mod_rewrite 等,还需要额外配置相应的模块。 #### 三、设置 Lighttpd **1. 修改配置文件** - 默认情况下,Lighttpd 的配置文件位于 `/etc/lighttpd/lighttpd.conf`。可以通过...
1. **模块化设计**:lighttpd支持模块化的扩展,可以根据需求加载或卸载功能模块,例如FastCGI、SSI(服务器端包含)、mod_proxy等,这使得它在保持轻量级的同时,也具备了强大的功能。 2. **高效的事件模型**:...
- `/usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf` 4. **检查服务状态**: - 可以通过`lsof -i :80`命令来查看服务监听情况,确认服务是否成功启动。 5. **测试服务**: - 使用`curl`命令...
cp /path/to/lighttpd-1.4.8/doc/lighttpd.conf /usr/local/lighttpd/conf/ ``` **启动服务** 通过以下命令启动Lighttpd服务,`-D`参数表示在前台运行,便于调试: ``` /sbin/lighttpd -f conf/lighttpd.conf -D ...
6. **配置lighttpd**:lighttpd的配置文件通常位于`/etc/lighttpd/lighttpd.conf`,需要根据实际需求进行定制,包括设置监听端口、虚拟主机、日志文件等。 7. **启动与管理lighttpd**:通过命令`sudo /etc/init.d/...
auth.backend.htpasswd.userfile = "/etc/lighttpd/users.htpasswd" $HTTP["url"] =~ "^/protected_area/" { auth.require = ( "method" => "digest", "realm" => "Protected Area", "userfile" => "/etc/...
fcgitar -xjvf fcgi-2.4.1-SNAP-0910052249.tar.bz2cd fcgi-2.4.1-SNAP-0910052249./configuremakemake installvim /etc/lighttpd/lighttpd.conf 配置fastcgi模块vim /etc/lighttpd/conf-avaliable/10-fastcgi.conf...
在lighttpd-1.4.45中,支持如FastCGI、mod_proxy、mod_rewrite等常见模块,可以轻松集成PHP、Python等脚本语言,实现动态内容的处理。 安全性方面,lighttpd-1.4.45同样表现出色。它内置了防止DoS攻击的机制,比如...
安装完成后,需要编辑lighttpd的配置文件,通常位于`/etc/lighttpd/lighttpd.conf`。找到`server.modules`部分,确保`"mod_cgi"`在其中。然后,设置`cgi.assign`,指定哪些扩展名的文件将通过CGI处理。例如,添加`...
打开`/etc/rc.d/init.d/lighttpd`和`/etc/lighttpd/lighttpd.conf`。在`lighttpd.conf`中,你可以更改服务监听的端口(默认为80,这里改为81)和文档根目录: ```bash server.port = 81 server.document-root = "/...
编辑`/usr/local/vhost/lighttpd/etc/lighttpd/lighttpd.conf`,然后启动Lighttpd服务,使用`/usr/local/vhost/lighttpd/sbin/lighttpd -f /usr/local/vhost/lighttpd/etc/lighttpd/lighttpd.conf`命令。 至此,你...
2. 启动服务:安装完成后,可以使用`sudo lighttpd -D -f /etc/lighttpd/lighttpd.conf`启动lighttpd服务器,其中-D参数表示在后台运行,-f指定配置文件路径。 3. 停止与重启:使用`sudo service lighttpd stop`...
例如,mod_accesslog模块负责日志记录,mod_rewrite模块实现URL重写,mod_fastcgi模块则提供对FastCGI应用的支持。每个模块都有自己的生命周期管理和函数接口,可以独立加载和卸载,增强了灵活性。 5. **内存管理**...
4. **配置文件**:lighttpd的配置文件通常为`/etc/lighttpd/lighttpd.conf`,在此文件中设置监听端口、服务器根目录、虚拟主机、路由规则等。 5. **启动服务**:执行`sudo lighttpd -D -f /etc/lighttpd/lighttpd....