友声网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
开启左侧

利用apache伪静态规则重写lighttpd伪静态规则的方法

[复制链接]
admin 发表于 2017-9-22 16:44 | 显示全部楼层 |阅读模式
lighttpd伪静态规则的写法之前的文章已经有大体介绍,Lighttpd服务器URL重写与伪静态配置,但是还有是朋友说看不懂,不会写。
上一篇文章Lighttpd服务器URL重写与伪静态配置中说道:
lighttpd 1.4.24版以后,规则用url.rewrite-if-not-file来保证,
配置文件的示例为:
url.rewrite=( "^/$" =>"/server-status" )
意思既为:url.rewrite=( "现在展现的" =>"原来展现的" )
那我们以文章:Z-Blog php版在apache下的伪静态规则完整版 中zb在apache的伪静态规则为例
RewriteRule read/(.*).html index.php?id=$1

再以文章:Z-Blog php版在lighttpd下的伪静态规则完整版 中zb在lighttpd的伪静态规则对比
与以上对应的lighttpd中的规则如下:

游客,如果您要查看本帖隐藏内容请回复

实际上就是把apache中
RewriteRule read/(.*).html
转成lighttpd的:
游客,如果您要查看本帖隐藏内容请回复

把 apache中:
index.php?id=$1
转成lighttpd的:(千万别忘记末尾的英文半脚逗号!)
游客,如果您要查看本帖隐藏内容请回复



转成lighttpd规则后,中间加英文半角的=号和>号,既:=>
在转了很多lighttpd规则后发现lighttpd几乎可以小改照搬apache的规则,这就大大降低了转换难度。


最后补充:
1、多规则写入方式:
url.rewrite=( "^/$" =>"/server-status" )
可以写成:
游客,如果您要查看本帖隐藏内容请回复

或:
游客,如果您要查看本帖隐藏内容请回复

甚至:(注意末尾标点)
游客,如果您要查看本帖隐藏内容请回复

但是建议不要写成:
游客,如果您要查看本帖隐藏内容请回复

2、不可以有重复规则,既不可以有重复if
上面讲到lighttpd 1.4.24版以后,规则用url.rewrite-if-not-file来保证
假如您的规则最后如下:
游客,如果您要查看本帖隐藏内容请回复

这样是不可以的

因为重复了if
"^(.*)/read/(.*).html$"

所以会导致服务器无法重启
我想这个在nginx上也会如此吧。
从这方面上apache完胜,至于如何解决我暂时还没找到方法。但不要灰心,以后文章还会讲lighttpd可以完胜apache的防盗链功能,可以让您对lighttp刮目相看~
好了文章就到此,希望本文对使用vps且安装了lighttpd的用户略有帮助。
传送门:PW历史安装包及升级程序
本文源自:http://hi.ys166.com/read-571.html 转载请注明。

RSS|无图版|手机版|友声网 ( 鲁ICP备15020090号-1 )|网站地图 | 点击这里给我发消息 |

GMT+8, 2024-4-26 12:16 , Processed in 0.037951 second(s), 7 queries , MemCache On.

Powered by Discuz! X

© ys166.com

快速回复 返回顶部 返回列表