0
將apache .htaccess中看似簡單的重寫規則轉換爲lighttpd規則時遇到了一些麻煩。mod_rewrite apache to lighttpd規則
的apache的規則: RewriteRule (.*) index.php?baseURL=$1 [L,QSA]
本質上,在其全部的URL作爲baseURL
參數傳遞,當然任何其他給定的參數被保留。
一個警告是,它應該只適用於單個目錄,並且(希望)不包括該目錄在baseURL
。
目前我有lighttpd的是:
url.rewrite-once = (
"^\/Folder\/(.*)" => "/Folder/index.php?baseURL=$0"
)
這得到整個URL,並將其作爲一個參數,包括\Folder\
和參數,所以http://domain/Folder/test.php?someParam=1
使得baseURL
包含/Folder/test.php?someParam=1
我可以解析這在PHP中,並使其工作,但重點是在Apache和Lighttpd具有相同的PHP代碼。
第二''會得到適當的編碼解碼。這就是爲什麼OP在接收'/Folder/test.php?someParam = 1'作爲'baseURL'值時沒有問題。 –
啊,好的。我現在得到你的解決方案。這就是'QSA'如何工作,所以你是正確的。 +1 –
@RaviThapliyal什麼是[QSA]? – Macattack