我想使用url rewrite for linux lighttpd.conf
但我無法獲得正確的正則表達式。REGULAR EXPRESSION(url.rewrite)
我的網址是ip/cgi/aaa/bbb
,我想重寫url路徑。我的目標是/var/www/cgi/aaa.cgi?par=bbb
我寫的規則爲"^/cgi/([^/]+)\/(.*)?"=> "/var/www/cgi/$1.cgi?par=$2"
但不知何故,我不能得到的參數par
值。
我想使用url rewrite for linux lighttpd.conf
但我無法獲得正確的正則表達式。REGULAR EXPRESSION(url.rewrite)
我的網址是ip/cgi/aaa/bbb
,我想重寫url路徑。我的目標是/var/www/cgi/aaa.cgi?par=bbb
我寫的規則爲"^/cgi/([^/]+)\/(.*)?"=> "/var/www/cgi/$1.cgi?par=$2"
但不知何故,我不能得到的參數par
值。
你的問題是因爲你在輸入的開始處錨定。
^/cgi
..will不匹配ip/cgi
,因爲ip
處於起步..不/cgi
。要修復它。把ip
在你有什麼正面:
^ip/cgi/([^/]+)\/(.*)?
# ^^ this part
下面是輸出一旦更改:
「^」在字符串的開頭匹配。由於您的ip是動態的,因此嘗試從「cgi」進行匹配,因爲它是絕對的。
我試着在http://gskinner.com/RegExr/的輸入下面工作正常。
/cgi/([^/]+)\/(.*)?
/var/www/cgi/$1.cgi?par=$2
ip/cgi/aaa/bbb
結果是IP /無功/網絡/ CGI/aaa.cgi?PAR = BBB
如果你不想在結果字符串 「ip」,使用
(.*)/cgi/([^/]+)\/(.*)?
/var/www/cgi/$2.cgi?par=$3
ip/cgi/aaa/bbb
結果是/var/www/cgi/aaa.cgi?par=bbb(沒有ip)
但ip是不同的,我怎麼寫規則 – MagicConch 2013-03-14 03:41:19
刪除錨字符'^'..它可能會工作後那。 – 2013-03-14 03:44:40
但我用我的規則「^/cgi /([^/]+)\/(.*)?」=>「/var/www/cgi/$1.cgi?par=$2」,我可以去CGI但我不能得到票面價值 – MagicConch 2013-03-14 03:47:59