2016-02-08 11 views
-2

我嘗試將lemonldap配置爲使用基於url的不同皮膚。基於url參數的Lemonldap皮膚規則

我用這個文檔: http://lemonldap-ng.org/documentation/1.9/portalcustom

它說:

規則:一個Perl表達式(你可以使用%ENV哈希來獲得環境變量,或者$ _url得到URL重定向之前調用,或$ ipAddr使用用戶IP地址)。如果規則評估爲真,則應用相應的外觀。

我試着編寫一個返回true的規則,如果$ _url包含一個參數。但我不懂Perl語言。

例如,如果url爲http://myurl:8097/?skin=dark,我想使用黑皮膚。如果網址是http://myurl:8097/?skin=pastel,我想使用柔和的皮膚。

我該如何用perl表達式來檢查?

我已經嘗試:

$_url =~ dark 

$_url =~ $dark 

$_url =~ /dark 

這一切都不工作。

+1

http://p3rl.org/perlre –

回答

1

您正在尋找

$_url =~ /dark/ 

匹配運營商在perlop記錄。 (搜索從m/PATTERN/開始的子彈。)

這是一個很差的檢查,因爲它在URL中的任何位置查找dark。以下將更好:

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

謝謝。我使用這個正則表達式,它的工作原理。 – YLombardi

+0

調整了我對問題更改的回答。 – ikegami