我想用Lighttpd做網址重寫。我有我需要的部分工作。現在,我有這樣的: http://domain.com/name/a/123其重寫爲http://domain.com/name/a.php?pid=123Lighttpd重寫文件和目錄
我做這個重寫一次規則: 「^ /名稱/ A /([^ /] +)」=>「/name/a.php ?pid = $ 1「
該php頁面有外部資源沒有得到重寫,如JavaScript和CSS文件。有沒有辦法讓我可以重寫下面的內容?
http://domain.com/name/a/js/file.js =>http://domain.com/name/js/file.js
我在想,如果我可以做一個正則表達式,我匹配整個字符串,如果它有一個/它應該工作。所以我的規則就像..「^/name/a /(match/here)」=>「/ name/$ 1」我不知道如何匹配整個輸入字符串。 – Ronald 2010-04-27 05:55:56
編寫一個匹配/的正則表達式很容易編寫,但從您的問題看來,您希望以兩種不同的方式重寫字符串。我給你的正則表達式處理第二種重寫。 另外,看看你的部分工作正則表達式,你確定正則表達式 ^/name/a /([^ /] +)=>「/ name/a.php?pid = $ 1 重寫http://域。 com/name/a/123。正則表達式會嘗試在字符串的開頭匹配/ name/..我認爲你需要刪除脫字符(^)。 – Jasmeet 2010-04-27 06:04:46
你在尋找一個正則表達式來完成重寫如果是這樣的話,這是不可能的,在第一個例子中,你想將name/a/123轉換爲name/a.php?pid = $ 1,$ 1將捕獲括號中正則表達式匹配的子字符串。包含文本a.php?pid,因此你永遠無法從原始字符串中捕獲這個 – Jasmeet 2010-04-27 06:28:47