当前位置:首页 > Server > 正文内容

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

admin2017-03-13Server2346

lighttpd伪静态规则的写法之前的文章已经有大体介绍,Lighttpd服务器URL重写与伪静态配置,但是还有是朋友说看不懂,不会写。

废话不多说了,欢迎您收看友声网卡卡北的原创“软文”,今天就用白话方式跟大家说一下利用apache伪静态规则重写lighttpd伪静态规则的方法。

上一篇文章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中的规则如下:

"^(.*)/read/(.*).html$"=>"$1/index.php?id=$1",

实际上就是把apache中

RewriteRule read/(.*).html


转成lighttpd的:

"^(.*)/read/(.*).html$"

把 apache中:

index.php?id=$1


转成lighttpd的:(千万别忘记末尾的英文半脚逗号!)

"$1/index.php?id=$1",


转成lighttpd规则后,中间加英文半角的=号和>号,既:=>

在转了很多lighttpd规则后发现lighttpd几乎可以小改照搬apache的规则,这就大大降低了转换难度。


最后补充:

1、多规则写入方式:

url.rewrite=( "^/$" =>"/server-status" )

可以写成:

url.rewrite=(

 "^/$" =>"/server-status"

 )

或:

url.rewrite=(

 "xxx1" =>"xxxx1",

 "xxx2" =>"xxxx2"

 )

甚至:(注意末尾标点)

url.rewrite=(

 "xxx1" =>"xxxx1",

 "xxx2" =>"xxxx2",

 )

但是建议不要写成:

url.rewrite=(

 "xxx1" =>"xxxx1",


 "xxx2" =>"xxxx2",

 )


2、不可以有重复规则,既不可以有重复if

上面讲到lighttpd 1.4.24版以后,规则用url.rewrite-if-not-file来保证

假如您的规则最后如下:

url.rewrite = (
#zblog规则
"^(.*)/read/(.*).html$"=>"$1/index.php?id=$1",
#phpwind规则
"^(.*)/read/(.*).html$" => "$1/read.php?tid=$2&page=$3&fpage=$4"
)

这样是不可以的

因为重复了if

"^(.*)/read/(.*).html$"

所以会导致服务器无法重启

我想这个在nginx上也会如此吧。

从这方面上apache完胜,至于如何解决我暂时还没找到方法。但不要灰心,以后文章还会讲lighttpd可以完胜apache的防盗链功能,可以让您对lighttp刮目相看~

好了文章就到此,希望本文对使用vps且安装了lighttpd的用户略有帮助。

传送门:PW历史安装包及升级程序

打赏

扫描二维码推送至手机访问。

版权声明:本文由友声网博客发布,如需转载请注明出处。

本文链接:https://hi.ys166.com/t/571

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。