基于url参数的Lemonldap皮肤规则

时间:2016-02-08 11:07:34

标签: perl

我尝试将lemonldap配置为根据网址使用不同的皮肤。

我使用这个文档: http://lemonldap-ng.org/documentation/1.9/portalcustom

它说:

  

规则:Perl表达式(您可以使用%ENV哈希来获取环境变量,或者使用$ _url来获取重定向之前调用的URL,或使用$ ipAddr来使用用户IP地址)。如果规则评估为true,则应用相应的外观。

如果$ _url包含参数,我尝试编写一个返回true的规则。但我不懂Perl语言。

例如,如果网址为http://myurl:8097/?skin=dark,我想使用深色皮肤。如果网址为http://myurl:8097/?skin=pastel,我想使用柔和的皮肤。

如何使用perl表达式检查?

我已经尝试过了:

$_url =~ dark

$_url =~ $dark

$_url =~ /dark

这些都不起作用。

1 个答案:

答案 0 :(得分:1)

您正在寻找

$_url =~ /dark/

匹配运算符记录在perlop中。 (搜索以m/PATTERN/开头的项目符号。)

这是一个糟糕的检查,因为它在URL中的任何位置查找dark。以下情况会更好:

$_url =~ /[?&;]skin=dark(?:[&;]|\z)/